SqlServer和Oracle判断表和列是否存在
SqlServer
1.判断表Users是否存在 if object_id(N'Users',N'U') is not null print '存在' else print '不存在' 2.判断表Users中是否存在Name这一列 if exists(select * from syscolumns where id=object_id('Users') and name='Name' collate Chinese_PRC_CI_AI_WS) print '存在' else print '不存在' 备注:collate Chinese_PRC_CI_AI_WS代表不区分大小写
Oracle
1.判断表是否村子 declare -- 这里是本地变量 i integer; begin -- 这里是测试语句 select count(1) into i from all_tables where table_name='SITE_INFO' AND owner='WIFI'; if(i>0) then dbms_output.put_line('存在'); else dbms_output.put_line('不存在'); end if; end; 2.判断列是否存在 declare -- 这里是本地变量 i integer; begin -- 这里是测试语句 select count(1) into i from all_tab_columns where owner='WIFI' and table_name='SITE_INFO' and column_name='SITE_ID'; if(i>0) then dbms_output.put_line('存在'); else dbms_output.put_line('不存在'); end if; end;
说明:PL/SQL需要新建一个Test Window才能运行上面的语句