Oracle PL/SQL编写PL/SQL代码的注意事项

(1) 几个值得注意的关键字(2) 变量常量赋值注意:

---------------------------------------------------------------------

[@more@]

(1) 几个值得注意的关键字

% :属性提示符.

= :附值操作符.

-> :关联操作符.

|| :连接操作符.

** :幂操作符.

<< :符号开始符.

>> :符号结束符.

(2) 变量常量赋值注意:

VARCHAR使用中文或数字使用双引号(””);

“123变量” VARCHAR2(20);

字符串使用单引号(‘’);

‘Hello Word’

(3) 编写PL/SQL建议规则

定义变量,建议使用v_做前缀:v_sal,v_job

定义常量,建议使用c_做前缀:c_rate

定义游标,建议使用_cursor为后缀:emp_cursor

定义例外,建议使用e_做前缀:e_integrity_error

定义PL/SQL表类型,建议使用_table_type做后缀:sal_table_type

定义PL/SQL表变量,建议使用_table做后缀:sal_table

定义PL/SQL记录类型时,建议使用_record_type做后缀:emp_record_type

定义PL/SQL记录变量时,建议使用_record做后缀:emp_record

(4) 编写PL/SQL注意

?使用SELECT语句进行查询时,如果未找到数据将会产生NO_DATA_FOUND例外.

?使用SELECT语句进行查询时,如果返回多条数据将会产生TOO_MANY_ROWS例外.

?使用WHERE子句时,变量名不能与列名相同,否则会产生TOO_MANY_ROWS例外.

(5) 游标属性使用注意

PL/SQL游标包括SQL%ISOPEN, SQL%FOUND, SQL%NOFOUND, SQL%ROWCOUNT四种属性

1. SQL%ISOPEN

该属性用于确定SQL游标是否打开。但在执行SQL语句的时候,Oracle会隐含打开游标,所以对于开发人员来说该属性永远为FALSE.

2. SQL%FOUND

游标属性SQL%FOUND用于确定SQL语句是否执行成功。成功返回TRUE,否则返回FALSE.

3. SQL%NOTFOUND

游标属性SQL%NOTFOUND用于确定SQL语句是否成功,SQL%FOUND用法一致,返回值相反.

4. SQL%ROWCOUNT

游标属性返回SQL语句正确执行的条数.用于取得操作的条数.

(6) 事务控制语句

事务控制语句包括COMMIT, ROLLBACK, SAVEPOINT语句三种.

COMMIT:提交语句

ROLLBACK:回滚语句

SAVEPOINT:事务保存点

(7) 控制结构语句

1. 条件分支语句③④⑤

IF XXXX1 THEN

YYYYY1;

ELSIF XXX2 THEN

YYYYY2;

ELSE

YYYYY3;

END IF;

注意:红色部分的ELSIF.

CASE selector

WHEN XX1 THEN YY1;

WHEN XX2 THEN YY2;

.....

END CASE;

2. 循环语句

基本循环

LOOP

.....

END LOOP;

WHILE循环

WHILE XXX LOOP

....

END LOOP;

FOR循环

FOR X in [REVERSE] lower_bound..upper_bound LOOP

....

END LOOP;

如:

BEGIN

FOR i IN REVERSE 1..10 LOOP

INSERT INTO temp VALUES(1);

END LOOP;

END;

/

REVERSE标识时,循环从高到低执行.(10,9...1);

嵌套循环和标号

DELCARE

Result INT;

BEGIN

<>

FOR i IN 1..100 LOOP

<>

FOR j IN 1..100 LOOP

Result :=i^j;

EXIT other WHEN result=1000;

EXIT LOOP inner;

Dbms_output.put_line(result);

END LOOP outer;

Dbms_output.put_line(result);

END;

/

3. 顺序控制语句

GOTO语句

跳转到标号处执行.

NULL语句

NULL语句不做任何操作,并且将控制传递到下一条语句,主要是提高PL/SQL语句的可读性.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/300209/viewspace-889887/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/300209/viewspace-889887/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值