SQL编程(二)
本章继续上一章,内容并没有过多解释,大家试一试就明白了
--参照变量 用于存放数值指针的变量
--REF CURSOR 实现动态游标操作
DECLARE
TYPE s IS REF CURSOR;
emp_cursor s;
v_name emp.ename%TYPE;
v_sal emp.sal%TYPE;
BEGIN
OPEN emp_cursor FOR
SELECT ename,sal FROM emp WHERE deptno = 's1';
LOOP
FETCH emp_cursor INTO v_name,v_sal;
EXIT WHEN emp_cursor%NOTFOUND;
dbms_output.put_line(v_name||v_sal);
END LOOP;
CLOSE emp_cursor;
END;
--REF objtype 可用于共享数据使用
CREATE OR REPLACE TYPE addrr AS OBJECT(
street VARCHAR2(5),
city VARCHAR2(6),
state VARCHAR2(10),
zipcode VARCHAR2(6),
owner VARCHAR2(10)
);
CREATE TABLE address OF addrr;
INSERT INTO address VALUES('北路','沈阳','辽宁','11000','fei');
commit;
CREATE TABLE p(
id VARCHAR2(32) primary KEY,name VARCHAR2(10),addrr REF addrr
);
INSERT INTO p SELECT 1,'fei',ref(p)
FROM address p WHERE p.owner='fei';
commit;
--非PL/SQL变量
--使用时要用 ‘:变量名’
--在SQL*PLUS中使用
var name VARCHAR2
BEGIN
SELECT ename INTO :name FROM emp
WHERE empno ='2';
END;
--使用 procedure Bulider变量 要用.create创建变量
.CREATE CHAR name LENGTH 10;
BEGIN
SELECT ename INTO :name FROM emp
WHERE empno ='2';
END;
TEXT_IO.PUT_LINE(:name);--TEXT_IO输出变量
作者“飞鱼”
相关新闻>>
- 发表评论
-
- 最新评论 更多>>