gpt4 book ai didi

mysql - 仅在满足条件时运行 SQL 查询

转载 作者:行者123 更新时间:2023-12-04 11:24:50 25 4
gpt4 key购买 nike

我正在尝试编写一个“白痴证明”SQL 脚本,该脚本可由非 SQL 识字用户运行。

我的想法是在脚本顶部定义几个变量,然后根据这些变量运行特定查询。

我正在 mySQL 上进行测试,但它最终会在 SQL-Server 上运行。

在伪代码中,这就是我想要做的:

# Set matchThis to the value to match
SET @matchThis = "matchMe";

# Uncomment (remove the #) one of the two lines below to update or just view
#SET @update = "YES";
SET @update = "NO";

IF @update = "YES" {
UPDATE myTable SET myColumn = "changed" WHERE matchVal = @matchThis;
} ELSE {
SELECT * FROM myTable WHERE matchVal = @matchThis;
}

如果有办法,我想完全在 SQL 中执行此操作。

我看过使用指南 SELECT IF等,但无法弄清楚如何实现上述目标。

最佳答案

这是针对 MSSQL 的。我认为除了语法之外,您已经掌握了所有内容。我希望这会有所帮助/有效。

DECLARE @matchthis AS VARCHAR(MAX)
DECLARE @update AS VARCHAR(1)

SET @matchthis = 'matchme'
--@update can be Y or N. User changes this here.
SET @update = 'Y'

IF @update = 'Y'
UPDATE mytable SET myColumn = 'changed' WHERE matchval = @matchthis
ELSE IF @update = 'N'
SELECT * FROM myTable WHERE matchval = @matchthis

我不知道是否将更改设置为变量,但如果您想将其设置为变量,请遵循与 @matchthis 相同的语法(声明和设置)。

如果你想证明这个真的很白痴,我会说最好的办法是制作一个存储过程,这样用户就看不到代码,他们只有输入框。

关于mysql - 仅在满足条件时运行 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28087525/

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