谁能告诉我我错了哪里
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
答案 0 :(得分:0)
根据您的注释和您提供的脚本,此处的错误是您的函数中没有return语句。 SQL中的函数必须具有某种形式的return语句。如果您不想返回任何值,请使用存储过程。
就像@GordonLinoff所说,函数不能用于更改表。同样,使用存储过程的更多原因。
关于SCOPE_IDENTITY(),here are some alternatives to look into