SQL编程(二)

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 20:03 点击:

本章继续上一章,内容并没有过多解释,大家试一试就明白了

--参照变量  用于存放数值指针的变量
--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输出变量

作者“飞鱼”
 

    相关新闻>>

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • sql常见面试题
    • SQL SERVER 2005性能之跟踪
    • SQL编程(一)
    • LINUX上RMAN自动备份脚本
    • sql server面试题
    • 如何将多个SQL查询统计结果一次显示出来
    • 浅谈SQL Server中的事务日志(三)----在简单恢复模式下日志的角色
    • SQL小技巧系列 --- 行转列合并
    • sql server 列转行
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1