Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 创建插入函数_Mysql_Sql - Fatal编程技术网

Mysql 创建插入函数

Mysql 创建插入函数,mysql,sql,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

谁能告诉我哪里错了吗

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

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

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


关于SCOPE_IDENTITY(),

您能告诉我们错误,或者告诉我们您使用的是什么SQL变体吗?如果您使用的是SQL Server,函数不能返回
void
,函数不能修改表,您应该使用
output
子句返回ID。@暂停因为我只是更新了我的IDanswer@GordonLinoff是的,我正在使用sql server。。我不想使用SCOPE_IDENTITY(),我想同时插入到两个tables@koreangirl . . .
scope\u identity()
甚至不是MySQL函数。