但是ORACLE里面没有像SQLSERVER那样的 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[HY_BSCDNM_J]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[HY_BSCDNM_J] GO CREATE TABLE ... 为避免总是要去点击SURE,所以参考了网上的方法,在创建临时表的...
但是ORACLE里面没有像SQLSERVER那样的 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[HY_BSCDNM_J]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[HY_BSCDNM_J] GO CREATE TABLE ... 为避免总是要去点击SURE,所以参考了网上的方法,在创建临时表的...
用户明确想要在Oracle数据库中执行DROP TABLE IF EXISTS的操作,但由于Oracle的语法限制,我们需要通过编写PL/SQL代码来实现。 2. 构建SQL语句以删除(如果存在)指定的表 我们可以通过查询USER_TABLES或ALL_TABLES(取决于是否需要跨用户查询)来检查表是否存在,并使用EXECUTE IMMEDIATE来执行DROP TABLE语句。以下是一个简单...
可以用create or replace的对象有:functions, procedures, packages, types, synonyms, trigger and views,就是没有table,也没有sequence。 drop掉一个并不存在的表报错: SQL> drop table non_exists; drop table non_exists ORA-00942: 表或视图不存在 drop table容错的方法是: ...
declarei integer;beginselect count(*) into i from user_tables wheretable_name='XB_TEST001';if i>0 thendbms_output.put_line('该表已存在!');execute immediate 'DROP TABLE XB_TEST001';elsedbms_output.put_line('该表不存在');end if;execute immediate 'CREATE TABLE XB_TEST001(id int primar...
create or replace procedure dropObject(ObjName varchar2,ObjType varchar2) is v_counter number := 0; begin if upper(ObjType) = 'TABLE' then select count(*) into v_counter from user_tables where table_name = upper(ObjName); if v_counter > 0 then ...
declarecnt number;begin---查询要创建的表是否存在selectcount(*)intocntfromuser_tableswheretable_name='STUDENTS';---如果存在则删除该表ifcnt>0thenexecuteimmediate'drop table STUDENTS';dbms_output.put_line('表存在,删除成功!');endif;---删除之后再创建该表executeimmediate'CREATE TABLE STUDENTS ...
oracle的drop table if exists 利用存储实现 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...
8: if cnt>0 then 9: execute immediate 'drop table STUDENTS'; 10: dbms_output.put_line('表存在,删除成功!'); 11: end if; 12: ---删除之后再创建该表 13: execute immediate 'CREATE TABLE STUDENTS 14: ( 15: SNO NUMERIC(6, 0) NOT NULL, ...
CREATE OR REPLACE PROCEDURE p_drop_table_if_exist(p_vc2_tbl_name IN all_tables.table_name%TYPE, p_vc2_tbl_owner IN all_tables.owner%TYPE DEFAULT USER) IS v_num_tbl_count NUMBER(4); v_vc2_sql_stmt VARCHAR2(1000); BEGIN -- Checkiftable already exists ...