比如
declare abc varchar(20):='123';
select abc as 列名,其他列 from 表
执行的时候会报错?应该如何的写?
因为我要用这个查出来的东西作为子表的所以不能用动太的sql来拼sql,不知道还有没有其他方法
declare abc varchar(20):='123';
select abc as 列名,其他列 from 表
执行的时候会报错?应该如何的写?
因为我要用这个查出来的东西作为子表的所以不能用动太的sql来拼sql,不知道还有没有其他方法
select '123' as xxx ,其他列 from tb;
loc varchar(20):='ACCOUNTING';
begin
dbms_output.put_line('dnamet:'||dnamet);
select DEPTNO into loc from dept where dname=dnamet;
dbms_output.put_line('loc:'||loc);
end;
/
用plsql脚本块应该可以搞定的。
我要写在存储过程里,如果写成select abc AS 列名 from 表 报错的
as
t_test varchar2(25);
t_model_name varchar2(30);
t_t_test varchar2(100);
sqlstr varchar2(100);begin
t_test:='123456';
sqlstr:='select MODEL_NAME,'||t_test||' as test from EQHAdmin.T_CO_MODEL_DESC where rownum=1';
execute immediate sqlstr into t_model_name,t_t_test;
dbms_output.put_line('结果为:'|| t_model_name||t_t_test);
commit;
exception
when others then
rollback;
raise;
end;用execute 或许能帮上一些忙,可能还要用到临时表及游标!