Bro*_*ias 5 mysql sql stored-procedures
我是新手使用程序,似乎无法让我的工作.我正在使用MySQL v5.1.36并在WAMPP服务器上使用MySQL控制台输入我的代码.如果我去(重新)创建程序.我收到错误#1304(42000).
mysql> DELIMITER //
mysql>
mysql> CREATE PROCEDURE modx.getCRID (IN x VARCHAR(255),OUT y INT)
-> BEGIN
-> DECLARE y INT;
-> SELECT id INTO y
-> FROM `modx`.coverage_region
-> WHERE `coverage_region`.name = x;
-> END//
ERROR 1304 (42000): PROCEDURE getCRID already exists
mysql>
mysql> DELIMITER ;
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试使用该过程,则会收到错误#1305(42000).
mysql> USE modx;
Database changed
mysql> SET @crID = modx.getCRID("South East");
ERROR 1305 (42000): FUNCTION modx.getCRID does not exist
Run Code Online (Sandbox Code Playgroud)
如果一个程序存在,那么另一个程序不存在?我究竟做错了什么.
我相信问题是
\n\n\n\nMySQL 中还使用 CREATE FUNCTION 语句来支持 UDF(用户定义函数)。请参见第 21.2 节,\xe2\x80\x9c向 MySQL\xe2\x80\x9d 添加新函数。UDF 可以被视为外部存储函数。存储函数与 UDF 共享其命名空间。请参阅第 8.2.3 节,\xe2\x80\x9c 函数名称解析和解析\n,了解描述服务器如何解释\n 对不同类型函数的引用的规则。
\n\n要调用存储过程,请使用 CALL 语句(请参阅第 12.2.1 节,\n \xe2\x80\x9cCALL 语法\xe2\x80\x9d)。要调用存储的函数,请在表达式中引用它。该函数在表达式求值期间返回一个\n 值。
\n
| 归档时间: |
|
| 查看次数: |
18446 次 |
| 最近记录: |