oracle中判断表、字段、索引、主键、序列是否存在

论坛 期权论坛 脚本     
匿名技术用户   2021-1-4 06:18   36   0

判断表是否存在

function detect_table(str_in_tablename varchar2) return integer is
i_l_number integer;
begin
select count(*)
into i_l_number
from user_tables
where table_name = upper(str_in_tablename);

return i_l_number;
end;

判读字段是否存在

function detect_column(str_in_tablename varchar2, str_in_columnname varchar2) return integer is
i_l_number integer;
begin
select count(*)
into i_l_number
from user_tab_columns
where table_name = upper(str_in_tablename)
and column_name = upper(str_in_columnname);

return i_l_number;
end;

判断主键是否存在

function detect_constraint(str_in_tablename varchar2, str_in_constraint varchar2) return integer is
i_l_number integer;
begin
select count(*)
into i_l_number
from user_constraints
where table_name = upper(str_in_tablename)
and constraint_name = upper(str_in_constraint);

return i_l_number;
end;

判断索引是否存在

function detect_index(str_in_tablename varchar2, str_in_indexname varchar2) return integer is
i_l_number integer;
begin
select count(*)
into i_l_number
from user_indexes
where table_name = upper(str_in_tablename)
and index_name = upper(str_in_indexname);

return i_l_number;
end;

判断序列是否存在

function detect_sequence(str_in_sequencename varchar2) return integer is
i_l_number integer;
begin
select count(*)
into i_l_number
from user_sequences
where sequence_name = upper(str_in_sequencename);

return i_l_number;
end;

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP