2011-11-28 22 views
10

Seçme deyiminden kullanıcı tanımlı bir saklı yordamı çağırmaya çalışıyorum ve bana bir hata veriyor. Ancak bir sistem prosedürü dediğimde, gayet iyi çalışıyor. Seçme ifadesinden kullanıcı tanımlı bir yordamı çağırmanın bir yolu var mı. Bu MySQL içinSeçme deyiminden bir kullanıcı tanımlı saklı yordam çağrısı mysql

SELECT ID, email FROM user PROCEDURE simpleproc(); 

bana bir hata HATA 1106 (42000) elde: Bilinmeyen prosedürü 'simpleproc'

mysql> call simpleproc(); 

Query OK, 0 satır etkilenen (0.21 sn)

olarak
SELECT ID, email FROM user PROCEDURE ANALYSE(); 

+0

Bunun nasıl kafa karıştırıcı olabileceğini görebiliyorum, 'PROSEDÜR ANALİZİ' saklı yordam değildir bkz http://dev.mysql.com/doc/refman/5.5/en/procedure-analyse.html – KCD

cevap

-18

Sen sözdizimi aşağıdaki kullanmalıdır bir yordam aramak için, select deyimi saklı yordamı çağırabilirsiniz:

olarak

DELIMITER // 

CREATE PROCEDURE `procedure1`(IN var1 INT) 
BEGIN 
    SELECT var1 + 2 AS result; 
END// 

: Böyle, sen prosedürü takip CALL gibi

 
CALL stored_procedure_name (param1, param2, ....) 

CALL procedure1(10); 

Başvuru için bu siteyi kontrol edin : http://net.tutsplus.com/tutorials/an-introduction-to-stored-procedures/

+6

Evet - Saklanmış bir prosedürü böyle çağırırsınız. Ama seçim ifadesi miydi? –

12
işleri

Saklı yordamdan sorgunuzda yazdığınız şekilde seçim yapmak mümkün değildir. This ve This'a bakın.

İlgili konular