-
--使用记录型变量 declare info_row account_info%rowtype; begin select * into info_row from account_info a where a.member_id = 30989; dbms_output.put_line(info_row.member_id||'的余额是'||info_row.account_fee); end; /查看全部
-
说明部分(续) 记录型变量(代表表中的一行,理解成数组) 例:emp_rec emp%routype; emp_rec.ename := 'ADAMS';查看全部
-
赋值2种方式 := 和 into关键字 set serveroutput on declare memberId account_info.member_id%type; accountFee account_info.account_fee%type; begin select a.member_id,a.account_fee into memberId,accountFee from account_info a where a.member_id = 30989; dbms_output.put_line(memberId||'的余额是'||accountFee); end; /查看全部
-
说明部分(续) 引用型变量 例: my_name emp.ename%type; 变量名称 变量类型 (引用emp表ename列的类型作为my_name的类型)查看全部
-
PL/SQL的程序结构 declare 说明部分 (变量说明,光标说明,例外说明) 定义基本变量(名字再前面,类型再后面) 类型:char,varchar2,date,number,boolean,long 举例:var1 char(15); married boolean := true; (赋值使用 :=) psal number(7,2) begin 语句序列(DML语句) exception 例外处理语句 end; /查看全部
-
PL/SQL (Procedure Language/SQL)过程语言的SQL; PL/SQL是Oracle对sql语言的过程化扩展; --指在SQL命令语言中增加了过程处理语句(如分支、循环等),使SQL语言具有过程处理能力 PL/SQL是面向过程的语言。查看全部
-
Value_error (算术或转换错误)查看全部
-
--系统例外:被0除 zero_divide set serveroutput on declare --定义一个基本变量 pnum number; begin pnum:=1/0; exception when zero_divide then dbms_output.put_line('1:0不能做除数'); dbms_output.put_line('2:0不能做除数'); when others then dbms_output.put_line('其他例外'); end; / 注:then 后相当于有一个大括号。查看全部
-
系统例外:too_many_rows查看全部
-
自定义例外 定义变量,类型是exception 使用raise抛出自定义例外查看全部
-
产生例外可以通过exception来捕获 exception when 错误类型 tnen dbms_output.put_line('错误类型'); when others then dbms_output.put_line('其他例外');查看全部
-
declare --说明部分(变量,光标或者例外) begin --程序体 dbms_output.put_line('hello world'); end; / --结束执行 set serveroutput on 打开输出开关查看全部
-
exception when no_data_found then dbms_output.put_line('没有找到该员工'); when others then dbms_output.put_line('其他例外'); //通过others捕获所有的例外查看全部
-
在oracle中错误被叫做例外:分为系统例外和自定义例外。 1、系统例外 No_data_found 没有找到数据 Too_many_rows select..into语句匹配多个行 Zero_Divide 被零除 Value_error 算数或转换错误,算术错误比如说负数开平方 Timeout_on_resource 在等待资源时发生超时查看全部
-
1、光标的属性: %found,%notfound,%isopen(判断光标是否打开),%rowcount(影响的行数) 比如说光标这个结果集共有100条记录,通过光标取了10条记录,那么受影响的行数就是10. 2、光标数的限制:默认情况下,oracle数据库只允许在同一个会话中打开300个光标。 如何验证这点?首先切换用户至SYS,connect sys/password@192.168.56.101:1521/orcl as sysdba; 然后显示参数show parameter cursor,就可以看到open_cursors的值是300. 注意一下这里的show parameter cursor做的是模糊查询,也就是%cursor% 3、修改光标数的限制: 例:alter system set open_cursors=400 scope=both; alter system set :用来修改系统参数,除了光标数对于其他参数的修改同样适用。 注:scope的取值:both,memory,spfile,其中memory表示这条修改语句只更改当前实例不更改参数文件;spfile表示这条修改语句只更改参数文件不更改当前实例,如果取值是spfile数据库需要重启查看全部
举报
0/150
提交
取消