在SQLServer中,判断一个表是否存在,如存在删除,在创建表,在Orcale中如何执行这步操作,代码:
在SQLServer中
-- 判断表是否存在,如存在删除
IF EXISTS(SELECT * FROM SYSOBJECTS WHERE NAME = '该表')
DROP TABLS '该表'
GO
-- 创建表
CREATE TABLE '该表'()在Oracle中?????????????
在SQLServer中
-- 判断表是否存在,如存在删除
IF EXISTS(SELECT * FROM SYSOBJECTS WHERE NAME = '该表')
DROP TABLS '该表'
GO
-- 创建表
CREATE TABLE '该表'()在Oracle中?????????????
代码如下:
-- 创建数据库STUDENT并查询
CREATE TABLE STUDENT(ID INT,NAME VARCHAR2(10))
SELECT * FROM STUDENT
GO
-- 判断是否存在 如存在删除
IF EXISTS (SELECT STUDENT FROM ALL_TABLS)
DROP TABLES SUDENT
GO
create or replace procedure proc_dropifexists(p_table in varchar2)
is
v_count number(10);
begin
select count(*) into v_count
from user_tables
where table_name = upper(p_table);
if v_count > 0 then
execute immediate 'drop table ' || p_table ||' purge';
end if;
end;
用powerdesigner生成脚本都是这么建表的