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

PL/SQL:tulis ulang pernyataan SELECT menggunakan parameter IN dalam prosedur tersimpan

Anda harus menggunakan pendekatan SQL dinamis yang sama seperti yang disarankan dalam pertanyaan Anda yang lain

PROCEDURE get_stat (gender IN VARCHAR2) 
AS
    v_sql   varchar2(1000);
    v_param varchar2(100) := 'AVG_WEIGHT';
    v_stat  number;
BEGIN
    v_sql := 'SELECT ' || gender || ' FROM survey WHERE parameter = :1';
    EXECUTE IMMEDIATE v_sql
                 INTO v_stat
                USING v_param;
END get_stat;

Tapi Anda akan memiliki keberatan umum yang sama yang diajukan dalam pertanyaan Anda sebelumnya -- model data pada dasarnya cacat. Anda akan jauh lebih baik dilayani memiliki baris terpisah untuk MALE dan FEMALE hasil survei daripada memiliki kolom terpisah untuk male dan female hasil.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menginstal Oracle Fusion Middleware / WebLogic Server 11g

  2. oracle melakukan pembunuhan

  3. beberapa dukungan database untuk kelas JPA yang sama

  4. Mengapa Kafka jdbc connect masukkan data sebagai BLOB alih-alih varchar

  5. Bagaimana cara menggunakan GROUP BY pada kolom CLOB dengan Oracle?