Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Proses PL/SQL:masalah dengan kata-kata

Ada banyak masalah dengan prosedur Anda.

  1. Anda melewatkan BUAT kata kunci, dan itulah penyebab utama kesalahan waktu kompilasi. PLS-00103 .

Lihat dokumentasi untuk detail selengkapnya tentang BUAT pernyataan PROSEDUR untuk membuat prosedur tersimpan mandiri atau spesifikasi panggilan.

  1. Deklarasi tipe data untuk parameter IN salah. Anda perlu melakukannya sebagai:
EMP_USERNAME IN EMPLOYEE.EMP_USERNAME%TYPE
  1. UNTUK UNTUK LOOP secara sintaksis salah.

Anda dapat melakukannya sebagai:

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.

Sekarang, mari kita uji dan lihat:

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. Oracle:pemicu kenaikan otomatis.

  2. Permintaan sql Oracle perlu diubah berdasarkan zona waktu

  3. Memanggil Oracle PL/SQL PLS-00201:pengenal '001' harus dideklarasikan

  4. Bagaimana cara menggunakan perbedaan dan penjumlahan keduanya di Oracle?

  5. Menggunakan Oracle dan PHP:Bekerja di SQL Developer tetapi hasil file PHP ORA-00900:Pernyataan Tidak Valid