社区
Oracle
帖子详情
(求助)在DBMS_SQL中打开游标是啥意思??
Strawberry79
2003-02-18 09:12:00
如这句:
v_CursorID := DBMS_SQL.OPEN_CURSOR;
这个CURSOR和普通的游标定义有什么不同?
...全文
96
12
打赏
收藏
(求助)在DBMS_SQL中打开游标是啥意思??
如这句: v_CursorID := DBMS_SQL.OPEN_CURSOR; 这个CURSOR和普通的游标定义有什么不同?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
heyday
2003-02-18
打赏
举报
回复
不清楚,你要建的表的列是什么
tuidler
2003-02-18
打赏
举报
回复
可以互相嵌套的,注意每个游标返回的指针不一样
Jimmy.Chiang
2003-02-18
打赏
举报
回复
为什么不用create table as select???
Strawberry79
2003-02-18
打赏
举报
回复
这种游标可以嵌套吗?比如我定义一个动态游标是DDL的,在LOOP在过程中我再OPEN一个动态游标可以吗?因为我要用动态游标建一个表,而这张表的字段名还依赖于一个被选出来的记录集(也就是上一个游标)的某一字段的记录内容,两个都是动态的,怎么办??
举例:
第一次游标的记录集:
Year xzq value
2000 北京 10
2003 天津 20
要建一个表:
2000 2003
10 20
请高手赐教,头都大了!:(
heyday
2003-02-18
打赏
举报
回复
返回一个句柄
Jimmy.Chiang
2003-02-18
打赏
举报
回复
动态游标不仅可以执行sql,还可以执行dml。
上面的过程游标就被定义为dml语句,动态创建表,这是静态游标不能完成的。执行后v_NumRows返回操作是否完成的信息。
静态游标只能执行查询语句。
Strawberry79
2003-02-18
打赏
举报
回复
CREATE OR REPLACE PROCEDURE CreateTable(
p_Description IN VARCHAR2
)IS
v_CURSOR NUMBER;
v_CreateString VARCHAR2(100);
v_NumRows INTEGER;
BEGIN
v_Cursor := DBMS_SQL.OPEN_CURSOR;
v_CreateString := 'CREATE TABLE temp_table'||p_Description;
DBMS_SQL.PARSE(v_CURSOR,v_CreateString,DBMS_SQL.V7);
v_NumRows := DBMS_SQL.EXECUTE(v_Cursor);
DBMS_SQL.CLOSE_CURSOR(v_Cursor);
END;
这个v_Cursor被定义的是什么?执行的时候返回的又是什么?(好不明白呀?):(
Jimmy.Chiang
2003-02-18
打赏
举报
回复
相对于普通的游标,一个是动态,一个是静态。
普通游标是由静态查询语句产生的,不能根据需要更改这个查询语句;而动态游标则提供了很强的灵活性。
tuidler
2003-02-18
打赏
举报
回复
这是在动态游标中使用的,上面是得到一个指针,
动态游标可以让你动态编辑要执行的SQL文,不需要事先写好。
还可以实现DDL语句的执行
heyday
2003-02-18
打赏
举报
回复
动态游标
Strawberry79
2003-02-18
打赏
举报
回复
好的,我试试大家说的方法,感激不尽~!一定给分:~)
heyday
2003-02-18
打赏
举报
回复
不是很清楚你要建的表的结构,你自己换一下试试.
还有,列名好像不能为数字或中文字符.我建了不成功.
create or replace procedure CreateTable is
v_col1 varchar2(20);
v_col2 varchar2(20);
v_col3 varchar2(20);
v_createtable varchar2(20);
v_Cursor number;
cursor createtable is
select year,xzq,value from table1;
begin
open createtable;
loop
fetch createtable into v_col1,v_col2,v_col3;
v_Cursor := Dbms_Sql.Open_Cursor;
v_createtable := '你建表的语句'
DBms_sql.Parse(v_Cursor,v_createtable,DBMS_Sql.v7);
Dbms_Sql.Close_Cursor(v_Cursor);
exit when createtable%notfound;
end loop;
close createtable;
end CreateTable;
SQLSERVER 从
游标
中
FETCH数据卡住 之 解决过程
解决SQLSERVER
游标
FETCH数据失败问题 公司的软件系统使用SQLSERVER数据库。 前天晚上优化了系统
中
的一个重要存储过程,第二天用户使用系统的时候,开始还挺好,自我感觉不错,好像昨晚的优化工夫没有白费。但用着...
oracle
游标
根据参数查询,[
求助
]根据参数对
游标
数据进行排序
SQL> select deptno, ename from emp order by job;DEPTNO ENAME------ ----------20 SCOTT20 FORD10 MILLER30 JAMES20 SMITH20 ADAMS30 BLAKE20 JONES10 CLARK10 KING30 TURNER30 MARTIN30 WARD30 ALLEN1...
oracle日常运维及应急故障处理手册
通过操作系统命令toptopas glance等查看top进程号,确认是系统进程还是oracle应用进程,查询当前top进程执行的操作和sql语句进行分析。 根据进程号获取正在执行的sql SELECT a.osuser, a.username,b....
sql数据库命令大全
SQLServer和Oracle的常用函数对比 1.绝对值 S:select abs(-1) value O:select abs(-1) value from dual 2.取整(大) S:select ceiling(-1.001) value O:select ceil(-1.001) value from dual 3.取整(小) S:...
SQLsever入门到生命的尽头
SQL 第二章 SQL数据操作和查询 -- 1.语句命令组成: 数据定义语言(DDL),包括CREATE(创建)命令、ALTER(修改)命令、DROP(删除)命令等。 -- 主要针对对象的结构 Ø 数据操纵语言(DML),包括INSERT(插入)...
Oracle
17,090
社区成员
55,238
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章