use*_*332 0 sql oracle plsql oracle10g
我想创建这样的表:
create table ttt
(
col1 varchar2(2),
col2 varchar2(2),
col3 varchar2(2),
col4 varchar2(2),
col5 varchar2(2)
);
Run Code Online (Sandbox Code Playgroud)
使用此过程,但它不起作用.你能救我吗?
declare
str varchar2(200);
i int;
begin
for i in 1 .. 5 loop
begin
str:=’str’||i||”;
end;
end loop;
execute immediate ‘create table t1 (“str” varchar2(2) )’;
end;
/
Run Code Online (Sandbox Code Playgroud)
提前致谢.
Ren*_*ger 10
我相信你想要的东西
declare
str varchar2(200);
i int;
begin
for i in 1 .. 5 loop
str:= str || 'col' || i || ' varchar2(2)';
if i < 5 then
str := str || ',';
end if;
end loop;
execute immediate 'create table t1 (' || str || ')';
end;
/
Run Code Online (Sandbox Code Playgroud)
但是,当然,另一个有趣的问题是为什么要创建动态表.也许一个global temporary table可以做你需要的东西?
| 归档时间: |
|
| 查看次数: |
571 次 |
| 最近记录: |