数据库创建存储过程游标
Ⅰ sql语句编写存储过程,使用游标循环打印学生表中的数据,求大神
写一个例子给楼主看下就知道了:
在sqlserver2000中新建一个存储过程:
CREATEPROCEDUREPK_Test
AS
//声明1个变量
declare@namenvarchar(20)
//声明一个游标mycursor,select语句中参数的个数必须要和从游标取出的变量名相同
//打开游标
openmycursor
//从游标里取出数据赋值到我们刚才声明的2个变量中
fetchnextfrommycursorinto@name
//判断游标的状态
//0fetch语句成功
//-1fetch语句失败或此行不在结果集中
//-2被提取的行不存在
while(@@fetch_status=0)
begin
//显示出我们每次用游标取出的值
print'游标成功取出一条数据'
print@name
//用游标去取下一条记录
fetchnextfrommycursorinto@name
end
//关闭游标
closemycursor
//撤销游标
deallocatemycursor
GO
Ⅱ mysql数据库如何创建存储过程
本文将为您详解MySQL存储过程的创建与应用。
创建无参存储过程,步骤如下:
1. 利用CREATE PROCEDURE语句定义无参存储过程。
执行示例及结果展示:
2. 通过CALL语调用无参存储过程。
插入数据库表实例:
3. 使用存储过程更新数据库表。
循环插入数据库表实现:
4. 创建包含循环的无参存储过程。
有参存储过程操作:
5. 创建带参数的存储过程。
游标使用示例:
6. 创建存储过程并运用游标处理数据。
高级进阶:嵌套存储过程应用:
7. 将存储过程内容嵌套在另一个存储过程中。
具体实现与调用步骤:
8. 阐释嵌套存储过程的创建与调用。
实际工作案例分享:
9. 展示工作中的存储过程实例。
总结与建议:
10. 总结MySQL存储过程的创建与应用技巧,对比其他数据库系统的存储过程。
Ⅲ 我要写一个oracle的存储过程,需要用到一个动态的游标,因为表名和字段个数都是变的,所以我想传入sql语句
SQL> DECLARE
2 TYPE refcursor IS REF CURSOR;
3 v_cursor REFCURSOR;
4 v_Sql VARCHAR(200);
5 v_name VARCHAR(10);
6 BEGIN
7 -- 动态SQL
8 v_Sql := 'SELECT name FROM test_dysql';
9 -- 打开游标.
10 OPEN v_cursor FOR v_SQL;
11 -- 循环处理.
12 LOOP
13 -- 填充数据.
14 FETCH v_cursor INTO v_name;
15 -- 无数据时 退出循环.
16 EXIT WHEN v_cursor%NOTFOUND;
17 -- 输出.
18 dbms_output.put_line(v_name);
19 END LOOP;
20 -- 关闭游标.
21 CLOSE v_cursor;
22 EXCEPTION
23 WHEN OTHERS THEN
24 -- 发生异常时,如果游标还打开,那么关闭掉.
25 IF (v_cursor%isopen) THEN
26 CLOSE v_cursor;
27 END IF;
28 RAISE;
29 END;
30 /
A
B
C
D
E
PL/SQL procere successfully completed.