sql-server - 根据使用存储过程在 TSQL 中删除的数据返回消息
问题描述
我正在构建一个简单的纸牌游戏计分程序,并且我正在设置一个存储过程来清除我表中以前的玩家和分数。
我正在尝试让存储过程返回“玩家已清除。准备开始!” 如果有从表中删除的记录。否则,如果表已经是空的,我希望它说“准备开始!”。
我的最新尝试如下。我还尝试过声明一个变量并将每个结果设置为该变量并在最后返回该变量。
每当我运行存储过程时,它只会返回一个空的“玩家”列。我知道这是来自 select 语句,但我正在努力弄清楚如何返回上面的文本。
提前致谢!
CREATE PROCEDURE new_game
AS
BEGIN
SELECT player
FROM Score
IF @@ROWCOUNT > 0
BEGIN
DELETE FROM dbo.Score
PRINT 'Players cleared. Ready to start!';
END
ELSE
BEGIN
PRINT 'Ready to start!';
END
END
解决方案
请试试这个。
CREATE PROCEDURE new_game AS
BEGIN
IF EXISTS( SELECT TOP 1 player FROM Score)
BEGIN
DELETE FROM dbo.Score
SELECT 'Players cleared. Ready to start!' AS Players;
END
ELSE
BEGIN
SELECT 'Ready to start!' AS Players;
END
END
推荐阅读
- multidimensional-array - BQ 数组查找:类似于 NTH,但基于索引,而不是位置
- android - 如何确保在发布版本中使用了某个字符串资源?
- angular - ng 服务被组策略阻止
- excel - 在 VBA 中计算工作簿并在 Count > 1 时关闭 Excel
- python - 如何在熊猫数据框中插入字符串的选定部分
- javascript - 无法与无框架、透明的 BrowserWindow 交互
- c# - User.HasClaim 未成功读取 .NET Core 2.0 Web Api 中的声明属性
- h2o - 如何获取由 h2o automl 生成的非领导者模型的详细信息?
- ios - 如何使用 Xcode 使 LaunchScreen.xib 中的图像填充背景
- android - 在多个线程上调用 AnimatorUpdateListener