SQL - 创建一个返回表行的函数

时间:2015-12-17 07:49:20

标签: mysql sql function

我正在使用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 

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