SQL SERVER 建表时先判断表有没有存在

来源:百度知道 编辑:UC知道 时间:2024/05/31 20:43:39
我是用查询分析器建立表的,

每次建立表,如果表存在,就要先删除,很麻烦

能不能这样:

建表的时候,先判断表是否存在,如果存在,则不建表,如果不存在,就建立表

或者

建表的时候,先判断表是否存在,如果存在,删除表再建立表,如果不存在,就建立表

请问SQL SERVER 代码怎么写啊?

高手,如果强的话,能不能把
ORACLE 和 MYSQL 的相同代码也写写啊?

谢谢啊
谈论用户名
您写的代码我看不懂啊,这个 USE GO 是固定搭配吗?
能不能给个更简单的?

SQL SERVER 建表时先判断表存在情况如下:

在sqlserver中,创建表之前判断表是否存在,如果存在则删除已有表Sql代码    

----SQL-Server   

if exists (select 1   from  sysobjects  where  id = object_id('EMP')  and   type = 'U')  

drop table S_Evaluate  go  --CREATE Table: EMP   create table EMP(  Id   numeric         

identity, -- 评估ID  Conclusion     text     null --结论  

constraint PK_S_EMP primary key nonclustered(Id)  )  

go  ORACLE 数据库

但是在oracle中却没有。如果直接使用drop table那么如果表不存在会报错,导致后续语句无法运行。因此可以通过一个存储过来来进行判断。 

主要是查询all_tables表的TABLE_NAME和OWNER,如果表存在,则执行execute immediate 'drop table TABLE_NAME'; 

Sql代码  

--判断表是否存在,如果存在则删除   

declare   

num   number;   

begin  select count(1) into num from all_