加入收藏 | 设为首页 | 会员中心 | 我要投稿 51站长网 (https://www.51zhanzhang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
站内搜索:
当前位置: 首页 > 站长百科 > 正文

oracle – 如果表不存在则创建表,并在创建后输入一行

发布时间:2021-01-08 09:36:23 所属栏目:站长百科 来源:网络整理
导读:如果表不存在,我需要创建一个表,并在创建表时为其添加一行. 我是oracle和PL / SQL的新手,所以我基本上需要等效的以下T-SQL: IF OBJECT_ID('my_table','U') IS NULLBEGIN CREATE TABLE my_table(id numeric(38,0),date datetime) INSERT INTO my_table VALUE

如果表不存在,我需要创建一个表,并在创建表时为其添加一行.

我是oracle和PL / SQL的新手,所以我基本上需要等效的以下T-SQL:

IF OBJECT_ID('my_table','U') IS NULL
BEGIN
  CREATE TABLE my_table(id numeric(38,0),date datetime)    
  INSERT INTO my_table
  VALUES (NULL,0)
END

解决方法

如果你想检查表创建

DECLARE count NUMBER;
BEGIN
count := 0;
SELECT COUNT(1) INTO count from user_tables WHERE table_name= 'MY_TABLE';
IF COL_COUNT = 0 THEN
EXECUTE IMMEDIATE 'create table ....';
END IF;
END;
/

检查DML.请注意您必须分离您的pk列和值.

DECLARE count NUMBER;
BEGIN
count := 0;
SELECT COUNT(1) INTO count from MY_TABLE WHERE id= 0 and name='Something';
IF COL_COUNT = 0 THEN
EXECUTE IMMEDIATE 'insert into MY_TABLE (id,name) values(0,''something'') ';
END IF;
END;
/

另请注意,当您插入表格时,我会重新指定列

(编辑:ASP站长)

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

    相关内容
    未处理完善
      无相关信息
    未处理完善