`
liuguofeng
  • 浏览: 435667 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

oracle定义变量

阅读更多

  1. ------------------------------------定义使用变量----------------------------------  
  2.   
  3. --scalar 变量    
  4. declare   
  5. v_ename varchar2(5);  
  6. v_sal number(6,2);  
  7. c_tax_rate constant number(3,2) :=0.03;  
  8. v_tax_sal number(6,2);  
  9. begin  
  10. select ename,sal into v_ename,v_sal from emp where empno=&eno;  
  11. v_tax_sal:=v_sal*c_tax_rate;  
  12. dbms_output.put_line('雇员名:'||v_ename);  
  13. dbms_output.put_line('雇员工资:'||v_sal);  
  14. dbms_output.put_line('所得税:'||v_tax_sal);  
  15. end;  
  16. /  
  17. --最好使用%type  
  18. declare   
  19. v_ename emp.ename%type;  
  20. v_sal emp.sal%type;  
  21. v_tax_rate constant number(3,2) :=0.03;  
  22. v_tax_sal v_sal%type;  
  23. begin   
  24. select ename,sal into v_ename ,v_sal from emp where empno=&no;  
  25. v_tax_sal := v_sal*v_tax_rate;  
  26. dbms_output.put_line('雇员名:'||v_ename);  
  27. dbms_output.put_line('雇员工资:'||v_sal);  
  28. dbms_output.put_line('所得税:'||v_tax_sal);  
  29. end;  
  30. /  
  31.   
  32.   
  33. --composite 变量  
  34. 1:pl/sql记录  
  35. 记录类型:emp_record_type  
  36. 记录变量:emp_record  
  37. 记录成员:记录变量.记录成员 emp_record.name  
  38. declare  
  39. type emp_record_type is record(  
  40.      name emp.ename%type,  
  41.      salary emp.sal%type,  
  42.      title emp.job%type);  
  43. emp_record emp_record_type;  
  44. begin  
  45. select ename,sal,job into emp_record from emp where empno=&no;  
  46. dbms_output.put_line('雇员名:'||emp_record.name);  
  47. dbms_output.put_line('雇员工资:'||emp_record.salary);  
  48. dbms_output.put_line(' 岗位:'||emp_record.title);  
  49. end;  
  50. /  
  51.   
  52. 2:pl/sql表  
  53. declare  
  54. type ename_table_type is table of emp.ename%type  
  55. index by binary_integer;  
  56. ename_table ename_table_type;  
  57. begin  
  58. select ename into ename_table(-1) from emp where empno=&no;  
  59. dbms_output.put_line('雇员名:'||ename_table(-1));  
  60. end;  
  61. /  
  62.   
  63. 3:嵌套表  
  64. 4:VARRAY  
  65.   
  66. --Reference 变量  
  67. 1:ref cursor 游标变量   fetch into   
  68. declare   
  69. type c1 is ref cursor;  
  70. dyn_cursor c1;  
  71. col1 varchar2(20);  
  72. col2 varchar2(20);  
  73. begin  
  74. open dyn_cursor for select &col1,&col2 from &tab where &con;  
  75. fetch dyn_cursor into col1,col2;  
  76. dbms_output.put_line('col1:'||col1);  
  77. dbms_output.put_line(' col2:'||col2);  
  78. close dyn_cursor;  
  79. end;  
  80.   
  81. 2:ref obj_type  
  82.   
  83.   
  84. --lob 变量  
  85. clob、blob、nclob、bfile  
  86. clob和nclob储存大字符数据  
  87. bolb储存大二进制数据  
  88. bfile储存指向os文件的指针  
  89.   
  90. --使用子类型定义变量  
  91. subtype subtype_name is base_type [(constrain)] [not null];  
  92. declare   
  93. subtype my_type is varchar2(20);  
  94. v_name my_type(20);  
  95. begin  
  96. select ename into v_name from emp where empno=&no;  
  97. dbms_output.put_line('name:'||v_name);  
  98. end;  
  99. /  
  100.   
  101. --非pl/sql变量  
  102. 1:sql*plus变量  
  103. 2:pro*c/c++变量  

分享到:
评论

相关推荐

    Oracle定义PLSQL变量学习

    对于Oracle学习者用处很大,是关于Oracle变量及在存储过程、触发器及函数的使用

    定义并使用变量,复合类型

    学习oracle定义并使用变量,复合类型

    oracle变量定义详解.docx

    oracle变量定义详解.docx

    oracle变量定义详解.pdf

    oracle变量定义详解.pdf

    深入ORACLE变量的定义与使用的详解

    在程序中定义变量、常量和参数时,则必须要为它们指定PL/SQL数据类型。在编写PL/SQL程序时,可以使用标量(Scalar)类型、复合(Composite)类型、参照(Reference)类型和LOB(LargeObject)类型等四种类型。在PL/...

    oracle定义存储过程

    这个文档对初学者来说是非常实用的,简单思路清晰,这里包括了 定义存储过程、调用带有输入输出参数的存储过程、存储过程异常处理、存储过程中事务处理的例子,很直观,

    oracle存储过程的基本用法

    结合实例,介绍了oracle存储过程的用法,包括定义,变量类型,游标,流程分支语句的使用

    13oracle的PL/SQL编程-定义并使用变量 PPT

    13oracle的PL/SQL编程-定义并使用变量 PPT 13oracle的PL/SQL编程-定义并使用变量 PPT

    Oracle变量定义详解.docx

    。。。

    Oracle变量定义详解.pdf

    。。。

    oracle创建可传参视图

    总结: 可传参视图主要是利用oracle存储过程来作为参数传递的介质,相当于定义了一个全局变量,在查询的时候设置参数,在视图中获取参数。

    Oracle中的package对象

    我们可以像定义面向对象语言的对象一样定义oracle的package.并为package定义对应的属性(全局变量)和方法(function,procedure). package的全局变量在oracle编程过程中有很多有趣并非常实用的作用.比如,我们可以利用...

    Oracle 入门文档2

    Oracle笔记 六、PL/SQL简单语句块、变量定义 Oracle笔记 七、PL/SQL 异常处理 Oracle笔记 八、PL/SQL跳转/判断/循环语句块 Oracle笔记 九、PL/SQL 游标的使用 Oracle笔记 十、PL/SQL存储过程 Oracle笔记 十一、...

    14.Oracle自定义函数1

    一、函数的创建、调用和权限1、创建函数create or replace function 函数名(参数1 模式 数据类型,) return 数据类型as --

    Oracle 入门文档

    Oracle笔记 六、PL/SQL简单语句块、变量定义 Oracle笔记 七、PL/SQL 异常处理 Oracle笔记 八、PL/SQL跳转/判断/循环语句块 Oracle笔记 九、PL/SQL 游标的使用 Oracle笔记 十、PL/SQL存储过程 Oracle笔记 十一、...

    oracle存储过程进阶

    介绍了oracle存储过程中常见的sql写法,游标(隐式,显式),触发器, CASE ... WHEN ...... ELSIF ...THEN...ELSE...END IF,记录类型变量定义和使用 ,%type定义变量,%rowtype定义变量,goto,异常。多且全

    Oracle从入门到高级应用的全部课程文档

    这是我学习Oracle时,老师给的讲义,包含了Oracle从入门到高级应用的全部资料。 以下是文件列表 Day01-Oracle基础.pdf ...Day10-变量定义和循环控制.pdf Day11-plsql游标和函数.pdf Day12-触发器.pdf Day13-索引.pdf

    toad for oracle 11

    易用的集成化开发环境可方便定义查询标准,测试自动生成的 SQL 语句,浏览解释计划,查看查询结果,保存所生成的 SQL 语句或将其拷贝到编辑器中。利用TOAD Modeler,新手也可以迅速创建复杂的查询。 强大的版本...

Global site tag (gtag.js) - Google Analytics