gpt4 book ai didi

oracle - 将 sysdate 附加到 Oracle 中的表名

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

我需要在 Oracle 中创建表时附加 SYSDATE。请让我知道是否有直接的方法(仅使用 SQL)或者我必须使用 PL/SQL。

例如。如果表名是 ABC,我需要创建表为 ABC_20130416。

如果需要更多信息,请告诉我。

最佳答案

如果 SQL*Plus 始终可用,您可以使用变量来执行此操作,例如(未经测试):

SQL>col yyyymmdd for a8 new_value v
SQL>select to_char(sysdate, 'YYYYMMDD') as yyyymmdd from dual;
SQL>create table ABC_&v (col1 integer);

另一方面,如果你想在任何地方都能做到,你将需要 PL/SQL 和动态 SQL:
declare
l_tablename varchar2(30) := 'ABC_' || to_char(sysdate, 'YYYYMMDD')
begin
execute immediate 'create table ' || l_tablename || ' (col1 integer)';
end;
/

或者只是先正常创建表,然后重命名:
create table xyz (
... many columns ...
);

declare
l_tablename varchar2(30) := 'ABC_' || to_char(sysdate, 'YYYYMMDD')
begin
execute immediate 'rename xyz to ' || l_tablename;
end;
/

关于oracle - 将 sysdate 附加到 Oracle 中的表名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16031050/

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