oracle变量
来源:互联网 发布:网络安全工程师证书 编辑:程序博客网 时间:2024/06/10 21:01
格式:
variable_name [CONSTRANT] type [NOT NULL] [:=value];
变量名 常量 类型 非空 值
如果有关键字NOT NULL, 那后面必须有赋初值。
赋值:
变量可以赋初值、在语句块中赋值,也可以用查询结果赋值 select into 。
DECLAR num NUMBER :=1; ch varchar(4); salary NUMBER;BEGIN ch:='abc'; select salary into salary from emp where name='张三';END;
如果没有where name ='张三',就会报错,因为返回的结果不止一行。
![](file:///C:/Users/Zhang/AppData/Local/YNote/data/m13047903060@163.com/589fce7e666e4f86baf3bcfb7a004ff2/clipboard.png)
使用 %TYPE
使用%TYPE,是的开发人员可以基于已有的变量类型,或者是数据库列的类型来指定变量的类型。
declare empname emp.empname%TYPE; se varchar2(4); sex se%TYPE;BEGIN select empname , sex into empname,sex from emp where empname='张三'; DBMS_OUTPUT.put_line(empname || ' ' || sex);END;
通过%TYPE的类型映射功能,使得在类型发生变化时非常容易对代码进行维护。因为当指定类型发生变化时,如上例
emp.empname类型改变时,empname的类型也会相应地改变。
使用%ROWTYPE
%ROWTYPE是与 %TYPE相似的用于绑定到数据库列表的类型,%TYPE仅绑定到单个数据库的类型,而%ROWTYPE则绑
定到一整行的所有列类型,可以将使用%ROWTYPE定义的变量看作是一种结构体。
查询:
DECLARE emp_info emp%ROWTYPE;BEGIN select * into emp_info from emp where empname='张三'; DBMS_OUTPUT.put_line(emp_info.empid || ' ' || emp_info.empname || ' ' || emp_info.sex || ' '|| emp_info.salary);END;
插入:
DECLARE emp_info emp%ROWTYPE;BEGIN emp_info.empid :=1031; emp_info.empname :='王菲'; emp_info.sex :='女'; emp_info.salary :=5000; insert into emp values emp_info;END;
和游标配合使用:
DECLARE T_emp emp%ROWTYPE; cursor emp_cursor is select * from emp;BEGIN open emp_cursor; LOOP FETCH emp_cursor INTO T_emp; exit when emp_cursor%NOTFOUND; DBMS_OUTPUT.put_line(T_emp.empid || ' ' ||T_emp.empname || ' ' || T_emp.sex || ' ' || T_emp.salary); END LOOP; CLOSE emp_cursor;END;
0 0
- oracle变量
- oracle--SQL 变量
- oracle的参照变量
- Oracle 绑定变量
- Oracle 绑定变量
- Oracle中的绑定变量
- Oracle 绑定变量 详解
- oracle绑定变量
- Oracle 绑定变量
- oracle set 变量
- Oracle 变量的使用
- oracle(参照变量)
- Oracle 绑定变量 示例
- oracle变量绑定
- oracle中的包变量
- Oracle变量定义详解
- oracle使用绑定变量
- Oracle---替代变量
- Excel表格数据导入到SQLServer数据库
- php字符串和数组间的转换
- Android Studio之同一窗口打开项目
- 创建GitHub技术博客全攻略
- Objective-C Runtime 运行时之五:协议与分类
- oracle变量
- linux iptables
- 想交一些朋友。 特别是刚接触java的初学者,可以给你们解决一些小问题。 最近遇到瓶顶,希望前辈给一些建议
- require和include的区别
- 在Activity中的ScrollView的Fragment中有ListView问题解决办法
- 【python网络编程】利用select实现socket全双工异步通信
- iOS 第二课 单例写法 本地存储登入登出 第三方缓冲圈
- 解决在 ArcCatalog为图层添加字段出现致命错误的方法
- CodeForces 200C Football Championship(暴力枚举)