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

thủ tục oracle với trường hợp Nó phụ thuộc từ tham số

CURSOR c
IS
  SELECT COMPANYID,
         GROUPID,
         PERIODID,
         FN_PPROCESSCURRENT
FROM LIQUIDATIONSDETAILS
   WHERE     PROCESSID = FN_PPROCESSPREVIOUS
         AND (UNCOLLECTED > 0 OR INVOICE = 0)
         AND (((GROUPID = vgroupid) AND (vgroupid > -1)) OR (vgroupid = -1))

ví dụ:if vgroupid = -1 , thì điều kiện cuối cùng sẽ là (((GROUPID = -1) AND (-1 > -1)) OR (-1 = -1)) hoặc ((forever_false AND forever_false) OR (forever_true)) hoặc (-1 = -1) - tất cả các bản ghi

thay vào đó, nếu vgroupid = 123 điều kiện cuối cùng sẽ là (((GROUPID = 123) AND (123 > -1)) OR (123 = -1)) hoặc (((GROUPID = 123) and forever_true) OR (forever_false)) hoặc (GROUPID = 123) - chỉ 123 GROUPID




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mật khẩu cơ sở dữ liệu đã hết hạn và các kết nối vẫn còn tồn tại

  2. Làm thế nào để sử dụng Alias ​​trong mệnh đề Where?

  3. Sử dụng OraclePreparedStatement với Kết nối DBCP

  4. Oracle sqlldr có xử lý song song nhiều INFILE không

  5. PL / SQL - Ví dụ về lỗi ứng dụng nâng cao