Oracle如何利用循环建表?
mip版 关注:109 答案:2 悬赏:0
解决时间 2021-02-24 05:07
已解决
2021-02-23 15:19
我的代码如下:
declare
tablenames varchar2(50);
var_sql varchar2(200);
Cursor tablename_cursor is
select t.table_name from user_tab_comments t where t.table_name like'SHUANG%';
begin
open tablename_cursor;
loop
fetch tablename_cursor into tablenames;
exit when tablename_cursor%notfound;
var_sql:='create talbe test3.'||tablenames||' as select starttime from test.'||tablenames;
dbms_output.put_line(var_sql);
execute immediate var_sql;
end loop;
close tablename_cursor;
end;
结果输出为:CREATE TABLE TEST3.SHUANG1 AS SELECt STARTTIME FROM TEST.SHUANG1
请问如何才能在TEST3中建立新表?
最佳答案
2021-02-23 15:44
Declare
Tablenames Varchar2(50);
Var_Sql Varchar2(200);
Cursor Tablename_Cursor Is
Select t.Table_Name
From User_Tab_Comments t
Where t.Table_Name Like 'SHUANG%';
Begin
Open Tablename_Cursor;
Loop
Fetch Tablename_Cursor
Into Tablenames;
Exit When Tablename_Cursor%Notfound;
Var_Sql := 'create table test3.' || Tablenames ||
' as select starttime from test.' || Tablenames;
Dbms_Output.Put_Line(Var_Sql);
Execute Immediate Var_Sql;
End Loop;
Close Tablename_Cursor;
End;
create table 的table写错了
全部回答
1楼
2021-02-23 15:49
create table table_name
(
姓名 varchar2(10),
数字一 number,
数字二 number
)
这个太简单了。。。
(1)table_name自己命名 (2)三个选项如果不可以空值的话,后面加上not null(例如:数字一 number not null,)
我要举报
如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上信息!
推荐资讯
大家都在看