Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Quy trình PL / SQL:vấn đề với từ ngữ

Có nhiều vấn đề với thủ tục của bạn.

  1. Bạn đang thiếu CREATE từ khóa, và đó là nguyên nhân gốc rễ gây ra lỗi thời gian biên dịch. PLS-00103 .

Xem tài liệu để biết thêm chi tiết về TẠO tuyên bố QUY TRÌNH để tạo một thủ tục được lưu trữ độc lập hoặc một đặc tả cuộc gọi.

  1. Khai báo kiểu dữ liệu cho tham số IN không chính xác. Bạn cần làm như sau:
EMP_USERNAME IN EMPLOYEE.EMP_USERNAME%TYPE
  1. FOR LOOP không chính xác về mặt cú pháp.

Bạn có thể làm như sau:

SQL> CREATE OR REPLACE
  2  PROCEDURE deploy_emp(
  3      i_emp emp.empno%type)
  4  IS
  5    emp_user VARCHAR2(50);
  6  BEGIN
  7    FOR indx IN
  8    (SELECT ename FROM emp
  9    )
 10    LOOP
 11      BEGIN
 12        BEGIN
 13          SELECT ename INTO emp_user FROM emp WHERE empno = i_emp;
 14        EXCEPTION
 15        WHEN NO_DATA_FOUND THEN
 16          emp_user := NULL;
 17        END;
 18      END;
 19    END LOOP;
 20    dbms_output.put_line(emp_user);
 21  END deploy_emp;
 22  /

Procedure created.

SQL> sho err
No errors.

Bây giờ, hãy kiểm tra nó và xem:

SQL> set serveroutput on
SQL> EXEC deploy_emp(7369);
SMITH

PL/SQL procedure successfully completed.

SQL>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách sửa lỗi oracle.sql.ArrayDescriptor, oracle.sql.THER và oracle.sql.StructDescriptor không dùng nữa

  2. Spring JPA Hibernate:truy vấn SELECT chậm

  3. Hàm LOCALTIMESTAMP () trong Oracle

  4. ODP.NET Bảo mật tích hợp Đối số chuỗi kết nối không hợp lệ

  5. Oracle sql hoặc pl / sql:Tính toán dựa trên các giá trị hàng trước đó và trên cột ngày tháng