创建插入功能

时间:2018-07-20 20:25:35

标签: mysql sql

谁能告诉我我错了哪里

CREATE OR REPLACE FUNCTION ttestt (url varchar(255)) RETURNS VOID AS
BEGIN
    DECLARE @IMAGE_ID INT
    INSERT INTO images(url,ajoute_par) VALUES ("http://www.example.com","3")
    SET @IMAGE_ID = SCOPE_IDENTITY() 
    INSERT INTO Dossier(nom, etat, dossierImage) VALUES ('NameTest', 1, @IMAGE_ID)
END

我遇到此错误:

    #1064 - You have an error in your SQL syntax; check the manual that corresponds 
    to your MySQL server version for the right syntax to use near 'FUNCTION ttestt (url varchar(255)) RETURNS VOID AS
    BEGIN
        DECLARE @IMAGE_ID' at line 1

1 个答案:

答案 0 :(得分:0)

根据您的注释和您提供的脚本,此处的错误是您的函数中没有return语句。 SQL中的函数必须具有某种形式的return语句。如果您不想返回任何值,请使用存储过程。

就像@GordonLinoff所说,函数不能用于更改表。同样,使用存储过程的更多原因。

关于SCOPE_IDENTITY(),here are some alternatives to look into