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

Periksa Batasan Memanggil Fungsi Oracle SQL developer

Tidak, Anda tidak dapat melakukannya, lihat Pembatasan pada Batasan Pemeriksaan:

  • Panggilan ke fungsi yang ditentukan pengguna

Tetapi Anda dapat membuat solusi menggunakan kolom virtual

ALTER TABLE tbl_AccountAuthentications ADD (fnCheck NUMBER GENERATED ALWAYS AS (fnCheckValid(accountid_fk)) VIRTUAL);


ALTER TABLE tbl_AccountAuthentications
ADD CONSTRAINT chkCheckvalid CHECK(fnCheck <= 1);

Catatan, fungsi harus DETERMINISTIK, jika tidak maka tidak akan berfungsi. Oracle tidak memverifikasi apakah fungsi Anda benar-benar deterministik, ia hanya memeriksa kata kunci. Yang ini diperbolehkan (walaupun tidak masuk akal sama sekali):

CREATE OR REPLACE FUNCTION DET_FUNCTION RETURN NUMBER DETERMINISTIC IS 
BEGIN 
    RETURN DBMS_RANDOM.RANDOM();
END;
/


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menemukan dan menghapus karakter Non-ASCII dari Oracle Varchar2

  2. Logika Bisnis:Basis Data atau Lapisan Aplikasi

  3. Cara mengakses Oracle DB di VirtualBox dari Host (windows)

  4. Bagaimana cara menyimpan data unicode ke oracle?

  5. Batasan unik ORA-00001 dilanggar