17,377
社区成员
发帖
与我相关
我的任务
分享
declare @sql varchar(8000)
set @sql='select ( '
select @sql = @sql +'''' + unit_short_name + ',' +''''
from (select distinct unit_short_name,unit_id from unit_info) as a
set @sql = @sql +') as unit_short_name'
exec(@sql)
有循环你就改下strsql
strsql := 'select ';
for loop
strsql := strsql || ' unit_short_name ';
...
end loop;
execute immediate strsql into strunit_short_name,strunit_id;
...
declare
strsql varchar2(4000); --varchar2最大4000
strunit_short_name varchar2(2000);
strunit_id varchar2(500);
begin
strsql := 'select unit_short_name,unit_id from (select distinct unit_short_name,unit_id from unit_info) as a'; --语句自己拼写
execute immediate strsql into strunit_short_name,strunit_id;
...
end;