sql >> Databáze >  >> RDS >> Mysql

Jak zavolám uložené procedury MySQL z Perlu?

Uložené procedury MySQL, které vytvářejí datové sady, vyžadují použití Perl DBD::mysql 4.001 nebo novější. (http://www.perlmonks.org/?node_id=609098 )

Níže je uveden testovací program, který bude fungovat v novější verzi:

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)'

Ale pokud máte příliš starou verzi DBD::mysql, dostanete výsledky jako tento:

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

Nejnovější DBD můžete nainstalovat pomocí CPAN.



  1. Výkon MySQL:Převod MySQL na MariaDB

  2. Proces upgradu krok za krokem na R12.2 Upgrade část -3

  3. Jak zkontroluji nastavení InnoDB?

  4. Příklady FLOOR() v SQL Server