gpt4 book ai didi

mysql - 使用@variable 将 MSsQL 转换为 MySql 存储过程

转载 作者:行者123 更新时间:2023-11-28 23:29:12 25 4
gpt4 key购买 nike

我将此 SP 与 MsSQL 一起使用。我如何将其转换为 MySql?

由于语法错误,它不允许我创建过程。

目标是从这样的用户那里接收一个字符串:(ReportId,UserName) - 如果在变量中找到,则发回允许,否则发回拒绝访问。

谢谢。

Procedure [dbo].[Permission]
@ReportId As Int
,@UserName As Varchar(50)
As
Declare
@Result As Varchar(250)

Select
@Result = IsNull((
Select
IsNull([permission].[Message], '')

From
[permission]
Join
[users]
On [users].[ID] = [permission].[User ID]

Where
[users].[User Name] = @UserName
And [permission].[Report ID] = @ReportId
), 'Access denied')


Select
Case
When @Result = '' Then 'Allowed'
Else @Result
End [Result]

最佳答案

不完整的列表但是:

  • 删除@ 符号,那些用于 session 变量;或者,您可能希望将它们替换为某种标准化前缀,以防止与表中的字段名称产生歧义。
  • [] 替换为 `
  • IsNull 变为 IfNull
  • 在做赋值时,比如 SELECT @Result = IsNull(...,将 = 更改为 :=

另外,用;结束你的语句,我不知道为什么那么多 MSSQL 用户喜欢跳过它们。

有关一般的创建过程语法,请转到 CREATE PROCEDURE .

关于mysql - 使用@variable 将 MSsQL 转换为 MySql 存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37954467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com