mysql - 在 sql 中创建存储过程时,我不断收到 "unexpected character"和 "unrecognized data type"错误

标签 mysql phpmyadmin

所以我尝试根据我在网上找到的代码创建一个存储过程,这是代码:

CREATE PROCEDURE [dbo].[Customers_CRUD]
      @Action VARCHAR(10)

AS
BEGIN
      SET NOCOUNT ON;


      --INSERT
      IF @Action = 'INSERT'
      BEGIN
            INSERT INTO Table
            VALUES (a, b)
      END

      --UPDATE
      IF @Action = 'UPDATE'
      BEGIN
            UPDATE table
            SET Name = @Name, Country = @Country
            WHERE CustomerId = @CustomerId
      END

      --DELETE
      IF @Action = 'DELETE'
      BEGIN
            DELETE FROM Table 
            WHERE CustomerId = @CustomerId
      END
END

使用此数据库:

**friend**-->
 Content:user_id,friend_id;
  **user**-->
    Content:user_id,email,password;
      **user_extra**-->
         Content:user_id,name,surname,birth_date,country_of_birth,user_name;

现在我在第 1 行不断收到错误:

"Unexpected character.(near[)",
"Unexpected character.(near [)"

第 2 行出现错误:

"Unrecognized data type.(near))"

现在我检查了我的代码,找不到错误,但我不知道为什么我不断收到这些错误,有人可以解释一下,mysql新手,顺便说一句,我在 phpmyadmin sql 部分使用了这个。

最佳答案

CREATE PROCEDURE  SP_Name(IN Action VARCHAR(10))
BEGIN
      SET NOCOUNT ON ;


      --INSERT
      IF (@Action = ‘INSERT’) THEN
      BEGIN
            INSERT INTO Table
            VALUES (a, b)
      END
      END IF ;
      --UPDATE
      IF( @Action = ‘UPDATE’) THEN 
      BEGIN
            UPDATE table
            SET Name = @Name, Country = @Country
            WHERE CustomerId = @CustomerId
      END
    END IF ; 
      --DELETE
      IF (@Action = ‘DELETE’) THEN 
      BEGIN
            DELETE FROM Table 
            WHERE CustomerId = @CustomerId
      END
  END IF ;
END

我认为这应该适合你 了解如何创建过程语法 here还有关于如何在mysql中使用IF语句语法here并且您可能还想检查如何声明变量,因为此代码应该没问题,但未定义 NONCOUNT 变量,请阅读有关声明变量的信息 here

关于mysql - 在 sql 中创建存储过程时,我不断收到 "unexpected character"和 "unrecognized data type"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46653173/

相关文章:

phpmyadmin 导出到 csv for excel

php - 如何拆分大型 sql .gz 文件以上传到数据库?

mysql - 来自许多具有条件的 INNER JOIN 表的多个计数

javascript - 我应该将所有数据库数据存储在内存中node.js吗?

mysql - 使用 MySQL 获取时间戳

mysql - phpmyadmin 自动表更新器

php - 设置虚拟主机时localhost/phpmyadmin无法访问

mysql - 查询多个 SQL 表以获取一种类型的对象

php - MySql 查询不适用于具有 max 子句

MySQL 查询在 phpmyadmin 中不起作用