怎么在Oracle中写执行sql的sql语句?

我的一个sql是保存在一个表的字段里的,我要写个联合查询sql,前提取出该字段中的sql,和其他sql一起执行,该怎么写啊?
请教各位!谢谢!

可以使用 execute immediate
--FYI
--execute immediate不支持多行返回,如果需要可新建临时表
declare
v_source_sql varchar2(1000);
v_union_sql varchar2(1000);
begin
select column_name into v_source_sql from table_name ;--get source sql
v_union_sql='select * from tablename2,('||v_source_sql ||') h where ......';--sql str
-- 之前先创建好所需字段的temp_table
execute immediate('insert into temp_table '||v_union_sql );
--在临时表中就是你所需要的数据。
exception ......
--如果只是需要返回单行数据,则可将execute immediate嵌入在sql中使用
--execute immediate str into parameter1 ,parmeter2...--返回参数
where column=:parameter....条件参数
--
-我说的很仔细吧:) 今天心情好

end;
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-11-17
我已经开始学ORACLE

但是上面大哥的回答我还没有看懂

我直接在青蛙里面执行语句execute immediate('select * from 表')

是不行的: PLS-00201: 识别字 'IMMEDIATE' 必须被宣告

PL/SQL: Statement ignored

看你好像是在存储过程里面实现的哦,没有试。
第2个回答  2008-11-18
execute immediate
在sql*plus的命令窗口中执行
第3个回答  2008-11-17
我还没开始学ORACLE

怎么在Oracle中写执行sql的sql语句?
可以使用 execute immediate --FYI --execute immediate不支持多行返回,如果需要可新建临时表 declare v_source_sql varchar2(1000);v_union_sql varchar2(1000);begin select column_name into v_source_sql from table_name ;--get source sql v_union_sql='select * from tablename2,('||...

oracle 视图sql语句怎么写
1、第一步,通过pl \/ sql登录到oracle数据库,见下图,转到下面的步骤。2、第二步,完成上述步骤后,输入sql以查询该库的所有视图,elect * from all_views t,并要求所有者在结果中代表不同的用户,见下图,转到下面的步骤。3、第三步,完成上述步骤后,如果查看用户的所有视图,执行sql,select ...

oracle数据库怎么打开sql窗口(输入查处语句)
1、安装并打开toad可视化工具。2、输入服务器名或服务器Ip地址、数据库用户名及密码,成功连接到数据库。3、进入软件界面。4、如果你看到的界面不同,首先点击“Editor”——“SQL”按钮,即可打开 sql语句编辑窗口。5、然后在Current Schema编辑窗口中,输入sql语句,测试语句最好不要使用改变数据库结构...

查询数据库中某个字段的sql语句怎么写
1、在计算机中,打开Oracle的连接程序,用新建的数据库管理员,进入【Oracle控制】的窗口上,鼠标左键单击【服务器】按钮,并选择【SQL工作表】,如下图所示。2、接着,在【Oracle服务器】的窗口上,在输入窗口中输入SQL查询语句,并单击【执行】按钮,可以看到表格当前的数据,但是没有显示出字段类型,...

查询数据库中某个字段的sql语句怎么写
1、在计算机中,打开Oracle的连接程序,用新建的数据库管理员,进入【Oracle控制】的窗口上,鼠标左键单击【服务器】按钮,并选择【SQL工作表】,如下图所示。2、接着,在【Oracle服务器】的窗口上,在输入窗口中输入SQL查询语句,并单击【执行】按钮,可以看到表格当前的数据,但是没有显示出字段类型,...

如何在Oracle中一次执行多条sql语句
1、以正常的方式编写sql,根据阅读与编写的需要,中间肯定会有换行符 2、在执行之前进行替换:strSql = strSql.Replace("r\\n", " ").Replace('\\n', ' ');如果不采用这种方式,可能的异常有:ORA-00933: SQL 命令未正确结束(如果sql没有以分号结尾)ORA-00911: 无效字符(如果未加begin 和 ...

oracle 怎么运行SQl脚本
连接数据库SQL> connect \/ as sysdba 运行脚本SQL> @\/admin\/XX.sql 这里的\/adminXX.sql 是绝对路径名, linux系统的话要注意 目录权限问题,windows就不用。

怎么用Oracle 存过中执行多个查询SQL 并返回结果,SQL和返回结果都存在一...
create t_sql(id number,a varchar2(3000));create t_sql_result(id number,col1 varchar2(400),col2 varchar2(400),...colN varchar2(400));如果所有SQL返回的列数都一样,那很简单,直接写到 t_sql_result 表里面即可。如果SQL返回的列数不一样,则需要判断每个sql返回...

oracle数据库的sql语句怎么执行
下一个三方软件PLSQL 或者toad,不然就只能在命令行里输入sqlplus 然后 用户名\/密码@sid 登录数据库,然后敲语句进去运行了。记得结尾带“;”

如何在oracle存储过程中执行动态sql语句
时需要在oracle 存储过程中执行动态SQL 语句 ,例如表名是动态的,或字段是动态的,或查询命令是动态的,可用下面的方法:set serveroutput ondeclaren number;sql_stmt varchar2(50);t varchar2(20);beginexecute immediate 'alter session set nls_date_format=''YYYYMMDD''';t := 't_' || ...

相似回答