oracle中能不能以字符串形式运行SQL语句
oracle中能不能以字符串形式运行SQL语句,就像sql server中的
exec ("select * from tabStudent")
问题点数:20、回复次数:12Top
1 楼wwl007(疑难杂症)回复于 2001-08-17 18:12:22 得分 0
你可以用oracle的immediate execute其功能和exec差不多Top
2 楼zhuzhichao(竹之草)回复于 2001-08-17 18:39:43 得分 0
execute immediate ...Top
3 楼awk()回复于 2001-08-17 18:45:31 得分 0
You can use DBMS_SQL package。Top
4 楼xzou(亡狼补齿)回复于 2001-08-17 18:58:46 得分 10
execute immediate 'str' || 'str2'||.......
oracle的动态sqlTop
5 楼Fxx(风萧萧)回复于 2001-08-17 19:41:31 得分 0
可以用游标型变量
type RefCurT IS REF CURSOR;
RefCur RefCurT;
BEGIN
Open RefCur For 'Select * from' ¦¦ TableName ;
......
END;
Top
6 楼askyou(askyou)回复于 2001-08-20 15:01:43 得分 0
奇怪,我用的用户有Create Table权限,而且使用Create Table
也可以建表。
但是在存储过程中写如下语句却不行:
create or replace procedure protest as
begin
execute immediate 'create table strtemp (table_name number)';
end;
错误信息是:
ORA-01031: insufficient privileges
ORA-06512: at "DBUSER.PROTEST", line 3
ORA-06512: at line 1
Top
7 楼xzou(亡狼补齿)回复于 2001-08-20 15:38:14 得分 0
我的没有问题。是不是没有建procedure的权力。Top
8 楼askyou(askyou)回复于 2001-08-20 15:43:36 得分 0
补充说明:
存储过程建立了,但是运行的时候
exec protest;
出现错误.Top
9 楼kuai_kevin()回复于 2001-08-20 16:07:47 得分 0
oracle支持动态sql,看看帮助和例子就可以了Top
10 楼bachelor(我爱你-宝贝)回复于 2001-08-20 16:12:18 得分 10
我都可以,你怎么会不可以呢?
不过建权限的时候好象要建直接的create any table系统权限,不能是通过什么role转过来的,呵呵,我也不知道,乱说了,反正我写的都可以。Top
11 楼askyou(askyou)回复于 2001-08-20 16:51:34 得分 0
sql plus 怎么看各个命令 的格式。Top
12 楼cod_aas(望穿秋水)回复于 2001-09-10 19:44:39 得分 0
关注Top




