从SQL SERVER 向ORACLE 8迁移的技术实现方案
2008-09-08 12:52:59 来源:WEB开发网首先,记录v_StudentData没有在块的声明部分进行声明,些变量的类型是c_HistoryStudents%ROWTYPE,v_StudentData的作用域仅限于此FOR循环本身;其实,c_HistoryStudents以隐含的方式被打开和提取数据,并被循环关闭。
6、隐式游标SQL%FOUND 与SQL%NOTFOUND
与MSSQL SERVER 一样,ORACLE也有隐式游标,它用于处理INSERT、DELETE和单行的SELECT..INTO语句。因为SQL游标是通过PL/SQL引擎打开和关闭的,所以OPEN、FETCH和CLOSE命令是无关的。但是游标属性可以被应用于SQL游标,如下:
BEGIN
UPDATE rooms
SET number_seats = 100
WHERE room_id = 9990;
--如果找不相应的记录,则插入新的记录
IF SQL%NOTFOUND THEN
INSERT INTO rooms(room_id,number_seats)
VALUES (9990,100)
END IF
END;
7、示例:
-- Declare the variables to store the values returned by FETCH.
-- Declare the CURSOR authors_cursor.
DECLARE
au_lname varchar2(40) ;
au_fname varchar2(20) ;
CURSOR authors_cursor IS
SELECT au_lname, au_fname
FROM authors
WHERE au_lname LIKE ‘B%’
ORDER BY au_lname, au_fname;
BEGIN
OPEN authors_cursor;
FETCH authors_cursor INTO au_lname, au_fname ;
WHILE authors_cursor%FOUND LOOP
-- Concatenate and display the current values in the variables.
DBMS_OUTPUT.ENABLE;
DBMS_OUTPUT.PUT_LINE( ‘Author: ‘ || au_fname || ‘ ‘ || au_lname) ;
FETCH authors_cursor INTO au_lname, au_fname ;
END LOOP ;
CLOSE authors_cursor ;
END ;
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
更多精彩
赞助商链接