CREATE OR REPLACE PROCEDURE output_time
IS
BEGIN
DBMS_SESSION.SET_NLS(‘NLS_DATE_FORMAT’,’’’yyyy-mm-dd hh24:mi:ss’’’);
DBMS_OUTPUT.PUT_LINE(SYSDATE);
END;
2、 创建带输入参数的过程
CREATE OR REPLACE PROCEDURE add_student(id student.id%TYPE ,name student.name%TYPE)
IS
BEGIN
INSERT INTO student
VALUES(id,name);
END;
只要在过程中插入数据的字段顺序是对的,参数的顺序并不要求与表中字段的顺序一致
3、 创建带有输入输出参数的过程
CREATE OR REPLACE PROCEDURE divide(num1 IN OUT NUMBER,num2 IN OUT NUMBER)
IS
ver1 NUMBER;
ver2 NUMBER;
BEGIN
ver1 := TRUNC(num1/num2);
ver2 := MOD(num1,num2);
num1 := ver1;
num2 := ver2;
END;
以下是调用并输出了过程后的数据
DECLARE
n1 NUMBER := &n1;
n2 NUMBER := &n2;
BEGIN
divide(n1,n2);
DBMS_OUTPUT.PUT_LINE('商:' || n1 || ',余数为' || n2);
END;
4、 维护过程
维护过程包括:删除、显示编译错误、编译过程、查看过程代码等
a) ALTER PROCEDURE divide COMPILE; ——重新编译过程
b) SELECT TEXT FROM USER_SOURCE WHERE NAME = ‘DIVIDE’; ——查询数据字典USER_SOURCE看源代码
c) SHOW ERRORS; ——查看过程中的错误
d) DROP PROCEDURE divide;