在drop table时,Oracle中没有类似MySQL和PostgreSQL中的"IF EXISTS"选项,但可以通过存过实现:
CREATE OR REPLACE PROCEDURE prc_dropifexists(p_owner varchar2, p_table varchar2)
AS
v_count varchar2(5);
BEGIN
SELECT COUNT(*) INTO v_count FROM dba_tables t
WHERE t.owner = p_owner
AND t.table_name = p_table;
IF v_count > 0 THEN
EXECUTE IMMEDIATE 'drop table '||p_owner||'.'||p_table||' purge';
END IF;
END prc_dropifexists;
在Oracle数据库中,由于缺乏类似于MySQL和PostgreSQL的IFEXISTS选项,本文介绍了一种通过创建存储过程来检查并安全删除表的方法。该过程首先检查指定的所有者和表名是否存在,如果存在则执行DROP TABLE操作。
5585

被折叠的 条评论
为什么被折叠?



