基本上,我希望修改数据库中已有的存储过程,该存储过程使用来自 Web 应用程序的数据更新表的记录(表 x)。更新表 x 后,我想开发该存储过程来检查表 x 以查看 column_z 为空的主键实例是否存在记录。基本上,像
ALTER PROCEDURE [cred].[UpdateTablex]
(@field0 int,
@field1 int,
@field2 int,
@field3, int,
@field4 VARCHAR(100),
@field5 datetime,
@field6 datetime)
AS
UPDATE tablex
SET field4 = @field4,
field6 = @field6
WHERE field1 = @field1 AND
field2 = @field2 AND
field3 = @field3 AND
field0 = @field0 AND
field5 = @field5;
其余的将是我的想法和我认为可能开发的方式的伪代码
IF ((SELECT COUNT(field0) FROM tablex WHERE field6 is null AND field2 = @field2
AND field3 = @field3 AND field5 = @field5) equals 0)
exec cred.Demobilize(@field0, @field1);
或者简单地说,如果 Select 语句在任何地方返回任何表明 field6 为空的结果,那么我们什么也不做。显然,这意味着如果 Select 语句不返回任何内容,那么我想执行另一个存储过程。
这可能很简单,所以请原谅我,因为我对某些类型的 SQL 语法和用法有点陌生,这就是其中之一。
另外,有人能指出我正确的方向来进一步教育自己这样的话题吗?
谢谢你。