ZKX's LAB

oracle 删除表判断是否存在吗 oracle创建表之前判断表是否存在,如果存在则删除已有表

2020-09-30知识8

ORACLE 判断表是否存在,存在则删除方法 Oracl 数据库也没有个半段表是否存在,存在则删除的语句,经过研究和改写他人的方法先隆重推出绝对能用性的Oracle判断表是否存在,存在则删除方法,在Oracle10g上试验通过。方法 CREATE OR REPLACE FUNCTION PROC_NAME(T_NAME IN VARCHAR2)RETURN NUMBER IS V_CNT number;V_SQL VARCHAR2(100);BEGINV_CNT:=0;SELECT COUNT(*)INTO V_CNT FROM USER_TABLES WHERE TABLE_NAME=T_NAME;IF V_CNT=0 THENRETURN 0;elseV_SQL:='DROP TABLE '|T_NAME;execute immediate V_SQL;DBMS_OUTPUT.PUT_LINE(V_SQL|' 执行成功');RETURN 1;END IF;EXCEPTIONWHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE(SQLCODE|SQLERRM);

oracle创建表之前判断表是否存在,如果存在则删除已有表 写个匿名块就行了,例子:SQL>;create table test(a number);Table created SQL>;SQL>;declare 2 v_count number;3 begin 4 select count(1)into v_count from user_tables t where t.T

oracle创建表之前判断表是否存在,如果存在则删除已有表?undefined-oracle,创建,判断

oracle创建表之前判断表是否存在,如果存在则删除已有表 drop table abccreate table abc(.)先删除表,然后在创建.

oracle创建表之前判断表是否存在,如果存在则删除已有表 不用判断,直接先执行删除你要创建的表名,然后再执行创建语句;很完美,为什么要判断呢?

oracle创建表之前判断表是否存在,如果存在则删除已有表 declarenum number;beginselect count(1)into num from user_tables where table_name=upper('sys_area');if num>;0 thenexecute immediate 'drop table sys_area';end if;end;区域表CREATE TABLE sys_areaid Number(4)NOT NULL,parent_id varchar2(64)NOT NULL,parent_ids varchar2(2000)NOT NULL,name nvarchar2(100)NOT NULL,sort number(10,0)NOT NULL,code varchar2(100),type char(1),create_by varchar2(64)NOT NULL,create_date timestamp NOT NULL,update_by varchar2(64)NOT NULL,update_date timestamp NOT NULL,remarks nvarchar2(255),del_flag char(1)DEFAULT '0' NOT NULL,PRIMARY KEY(id)

oracle创建表之前判断表是否存在,如果存在则删除已有表 写个匿名块就行了,例子:SQL>;create table test(a number);Table createdSQL>;SQL>;declare2 v_count number;3 begin4 select count(1)into v_count from user_tables t where t.TABLE_NAME='TEST';5 if v_count>;0 then6 execute immediate'drop table TEST';7 end if;8 execute immediate 'create table test(b number)';9 end;10/PL/SQL procedure successfully completedSQL>;select*from test;B

oracle创建表之前判断表是否存在,如果存在则删除已有表 |1、创建删表函数,2113create or replace procedure drop_table(tbl_name varchar2)asv_cnt number;beginselect count(*)into v_cnt from user_tables t where table_name=upper(tbl_name);如果存在则删除if v_cnt>;0 thenexecute immediate 'drop table '|5261tbl_name|' purge';dbms_output.put_line('删除表('|tbl_name|')成功4102');elsedbms_output.put_line('表('|tbl_name|')未建1653');end if;end;2、编译该函数,是函数可以正常执行,3、测试函数,输入不存在的表名test_aaa4、查看输出窗口,为,表未建,5、再次测试函数,输入存在的表名,6、查看输出窗口,表已删除,

#oracle#table#oracle创建表#oracle数据库

随机阅读

qrcode
访问手机版