Oracle PL/SQL是Oracle数据库中的一种存储过程式语言,PL/SQL可以用来编写数据库操作的应用程序,可以通过存储过程、触发器、函数等方式实现业务逻辑。下面将介绍PL/SQL中几个常用的语法和技巧。
1.条件判断语句if-else
DECLARE a NUMBER := 10; BEGIN IF a = 10 THEN dbms_output.put_line('a is 10'); ELSE dbms_output.put_line('a is not 10'); END IF; END;
上述代码会输出a is 10,如果把a赋值为其他数就会输出a is not 10。
2.循环语句for loop
BEGIN FOR i IN 1..3 LOOP dbms_output.put_line('i is ' || i); END LOOP; END;
上述代码会输出1 2 3,因为i是在1到3之间循环的,每次循环都会输出i的值。
3.游标语句cursor
DECLARE CURSOR emp_cur IS SELECT employee_id, last_name, salary FROM employees; emp_rec emp_cur%ROWTYPE; BEGIN OPEN emp_cur; LOOP FETCH emp_cur INTO emp_rec; EXIT WHEN emp_cur%NOTFOUND; dbms_output.put_line(emp_rec.employee_id || ' ' || emp_rec.last_name || ' ' || emp_rec.salary); END LOOP; CLOSE emp_cur; END;
上述代码会输出所有员工的工号、姓名和薪水。
4.异常处理语句exception
BEGIN INSERT INTO employees VALUES (9999, 'WU', 'JUNYONG', 'wu@junyong.com', '09-SEP-1990', 'IT_PROG', 6000, NULL, 100, NULL, NULL); EXCEPTION WHEN DUP_VAL_ON_INDEX THEN dbms_output.put_line('员工已存在!'); WHEN TOO_MANY_ROWS THEN dbms_output.put_line('插入多于一行,异常!'); END;
上述代码会检查员工是否已经存在,如果存在就输出员工已存在!如果插入多于一行就会输出插入多于一行,异常!
除了以上常用的语法和技巧,PL/SQL还有很多高级用法,例如嵌套表、动态SQL、PL/SQL表、游标和参数数组等。这些用法在一些复杂的业务场景中可以提高代码编写的效率和代码整体性。如果想要学习更多PL/SQL知识,可以参考Oracle官方文档或者其他相关书籍。