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

Bagaimana cara memanggil prosedur tersimpan MySQL dari Perl?

Prosedur tersimpan MySQL yang menghasilkan kumpulan data mengharuskan Anda menggunakan Perl DBD::mysql 4.001 atau yang lebih baru. (http://www.perlmonks.org/?node_id=609098 )

Di bawah ini adalah program uji yang akan berfungsi di versi yang lebih baru:

mysql> delimiter //
mysql> create procedure Foo(x int)
  -> begin
  ->   select x*2;
  -> end
  -> //

perl -e 'use DBI; DBI->connect("dbi:mysql:database=bonk", "root", "")->prepare("call Foo(?)")->execute(21)'

Tetapi jika Anda memiliki versi DBD::mysql yang terlalu lama, Anda mendapatkan hasil seperti ini:

DBD::mysql::st execute failed: PROCEDURE bonk.Foo can't return a result set in the given context at -e line 1.

Anda dapat menginstal DBD terbaru menggunakan CPAN.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengapa _ (garis bawah) cocok - (tanda hubung)?

  2. SEC_TO_TIME() Contoh – MySQL

  3. Kolom Pembaruan MySQL dari kolom lain di tabel yang sama

  4. MySQL, beberapa baris untuk memisahkan bidang

  5. Perintah PHP Tidak Sinkron kesalahan