Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Argumen kesalahan Prosedur Tersimpan 1 untuk rutin ... bukan variabel atau variabel semu BARU di pemicu SEBELUM

Saya pikir masalahnya ada pada panggilan Anda ke prosedur.

Dengan versi konektor MySQL yang tidak mendukung OUT parameter, solusi normalnya adalah menggunakan variabel pengguna MySQL untuk menyimpan nilai yang dikembalikan, lalu menjalankan kueri untuk mendapatkan nilai variabel tersebut.

Pertama, jalankan prosedur tersimpan, dan minta MySQL memasukkan nilai argumen OUT ke dalam variabel:

CALL `Get_Next_Processing_Video`(@IDVideo, @YoutubeIDVideo);

Perhatikan bahwa variabel tersebut bukan parameter perintah; mereka adalah variabel yang diadakan di sesi MySQL. Untuk mendapatkan nilai dari variabel tersebut, segera setelah panggilan ke prosedur, menggunakan koneksi MySQL yang sama:

SELECT @IDVideo, @YoutubeIDVideo ;

Dan proses hasil dari kueri itu seperti Anda menginginkan pernyataan SELECT lainnya yang Anda harapkan untuk mengembalikan satu baris.

Pembaruan:

Dengan versi Konektor MySQL yang lebih baru yang mendukung parameter OUT, saya pikir Anda perlu menentukan bahwa parameter tersebut adalah parameter OUT dengan menyetel atribut anggota:

cmd.Parameters["out_IDVideo"].Direction = ParameterDirection.Output;
cmd.Parameters["out_YoutubeIDVideo"].Direction = ParameterDirection.Output;

Seperti yang saya tunjukkan sebelumnya...

Dalam versi Konektor MySQL yang lebih lama yang tidak mendukung parameter OUT, solusinya adalah memanggil prosedur menggunakan variabel MySQL sebagai argumen. Nilai yang dikembalikan dari panggilan prosedur dipertahankan dalam sesi MySQL. Segera setelah memanggil prosedur, kami akan menjalankan SELECT untuk mengambil konten variabel pengguna.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa perbedaan antara mysql.createConnection dan mysql.createPool di modul MySQL Node.js?

  2. Codeigniter - Model Akses Dan Basis Data pada Perutean

  3. Partisi MySQL:mengapa tidak mengambil partisi yang sesuai

  4. Bagaimana cara mendapatkan pesan kesalahan yang berarti dari MySQL menggunakan pernyataan yang disiapkan PDO?

  5. PHP SQL STMT PILIH beberapa SEPERTI? apa itu mungkin?