我正在使用Mysql而我正试图创建一个能够在id正常的情况下返回表格中所有行的函数。
这是我的代码:
CREATE OR REPLACE FUNCTION lesPieces(varchar)
RETURNS TABLE my_table
DECLARE
ligne piece%ROWTYPE;
BEGIN
FOR ligne IN
SELECT *
FROM piece;
LOOP
RETURN NEXT ligne;
END LOOP;
RETURN
END;
$$ LANGUAGE plpgsql;
但是Mysql回复了我:
You have an error in your SQL syntax near :
'FUNCTION lesPieces(varchar)
RETURNS TABLE my_table
DECLARE
ligne piece%ROWTY' at line 1
你有什么想法吗?
-------------------------------------------------- -------------------------------------------------- --------------------
编辑:
感谢@Slasko提供的帮助:
你确定REPLACE是命令吗?它应该像DROP FUNCTION IF EXISTS [function_name]; DELIMITER $$ CREATE FUNCTION [function_name(function_parameter)]?
所以我刚刚删除了" OR REPLACE"但现在的错误是:
You have an error in your SQL syntax near : 'varchar) RETURNS SETOF piece AS' at line 1
答案 0 :(得分:0)
这个创建功能有很多问题。对于e-g,RETURNS可以根据http://dev.mysql.com/doc/refman/5.7/en/create-function-udf.html
设置{STRING | INTEGER | REAL | DECIMAL}的值请参阅以下链接以获取示例 http://sql-info.de/mysql/examples/create-function-examples.html