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

Gán một Lựa chọn cho một biến trong một thủ tục được lưu trữ

Bạn cần sử dụng SELECT INTO . Ngoài ra, không có dấu ngoặc nhọn trong PL/SQL bạn cần sử dụng THENEND IF . Tôi không hoàn toàn chắc chắn những gì bạn làm với kết quả. Bạn có muốn trả lại nó không? Sau đó, bạn cần một FUNCTION . Nó sẽ trông giống như thế này (chưa được kiểm tra):

create or replace
FUNCTION PCD_COMBAT (identifier_perso NUMBER, identifier_advers NUMBER) 
RETURN NUMBER
AS
  ATT_PERSO NUMBER;
  OFF_PERSO NUMBER;
  DEF_ADVERS NUMBER; 
BEGIN     
  SELECT OFFENSE_PERSO 
    INTO OFF_PERSO 
    FROM PERSONNAGE 
   WHERE ID_PERSO = identifier_perso;
  SELECT DEFENSE_ADVERSAIRE 
    INTO DEF_ADVERS 
    FROM PERSONNAGE 
   WHERE ID_ADVERSAIRE = identifier_advers;

  ATT_PERSO := OFF_PERSO - DEF_ADVERS;
  IF ATT_PERSO < 1 THEN 
     ATT_PERSO := 1;
  END IF

  RETURN ATT_PERSO;

END PCD_COMBAT;


  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âu lệnh SQL tham gia Oracle và MS SQL Server

  2. Oracle SQL Ghép nối các số tuần tự trái phải với số nhận dạng

  3. mệnh đề bắt đầu truy vấn phân cấp oracle từ tham gia

  4. ORACLE 11g không phân biệt chữ hoa chữ thường theo mặc định

  5. Truy vấn tham số C # cho Oracle - lỗi nghiêm trọng và nguy hiểm!