gpt4 book ai didi

sql - 如果它不存在则创建一个表,如果它在 Oracle 中不存在则创建一个序列

转载 作者:行者123 更新时间:2023-12-04 16:20:27 27 4
gpt4 key购买 nike

如果它不存在,我想创建一个下表。

create table TEST (
id number NOT NULL PRIMARY KEY,
url varchar(1000) NOT NULL,
urlHash varchar(255) NOT NULL,
contentHash varchar(255),
modDate varchar(30),
contentLocation varchar(100),
status integer,
lastCrawlDate varchar(30)) ;

所以我的问题是这样的——
Create Table TEST if doesn't exist

以同样的方式序列 -
create sequence test_seq start with 1 increment by 1 nomaxvalue;

像这样的查询也将用于序列-
Create sequence test_sequence if doesn't exist

最佳答案

你可以做一个匿名的 PL/SQL 块:

DECLARE
t_count INTEGER;
v_sql VARCHAR2(1000) := 'create table TEST (
id number NOT NULL PRIMARY KEY,
url varchar(1000) NOT NULL,
urlHash varchar(255) NOT NULL,
contentHash varchar(255),
modDate varchar(30),
contentLocation varchar(100),
status integer,
lastCrawlDate varchar(30))';
BEGIN
SELECT COUNT(*)
INTO t_count
FROM user_tables
WHERE table_name = 'TEST';

IF t_count = 0 THEN
EXECUTE IMMEDIATE v_sql;
END IF;
END;
/

同样,您可以使用 USER_SEQUENCES 查找现有序列并对其进行调整以适应。

关于sql - 如果它不存在则创建一个表,如果它在 Oracle 中不存在则创建一个序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7970551/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com