Stored procedures 存储过程:操作员在';如果@recordCount<;=@蒙哥';
我希望有人能再次帮助我,关于我的工作 是否有机会使操作员“>”灵活 现在,我的存储过程工作得很好,当记录计数大于参数Stored procedures 存储过程:操作员在';如果@recordCount<;=@蒙哥';,stored-procedures,sql-server-2005,Stored Procedures,Sql Server 2005,我希望有人能再次帮助我,关于我的工作 是否有机会使操作员“>”灵活 现在,我的存储过程工作得很好,当记录计数大于参数Menge时,我将收到一封电子邮件 代码如下: @Menge as int = 0, @recordCount as int = 0, set @MySQL = 'select @recordCount=count(2) from ' + @MyTable + ' where ' + @MyWhere exec sp_execute @MySQL, N'@recordCou
Menge
时,我将收到一封电子邮件
代码如下:
@Menge as int = 0,
@recordCount as int = 0,
set @MySQL = 'select @recordCount=count(2) from ' + @MyTable + ' where ' + @MyWhere
exec sp_execute @MySQL, N'@recordCount int OUTPUT', @recordCount=@recordCount OUTPUT
IF @recordCount > @Menge
begin
...
EXEC msdb.dbo.sp_send_dbmail
现在,我想让
更灵活,以便在记录数小于menge
我试图声明参数,但不知道如何将其插入if@recordcount>@Menge
行:(
我将使用
exec sp_eMail_Test3
@Menge = 0,
@eMail_TO = 'testuser@test.xx' ,
@eMail_Subject = 'test3 ',
@eMail_Body = 'Hallo, das ist ein Test',
@MyTable ='test' ,
@MyWhere = 'not [sys_completed] is null'
@OpInd = '<'
exec sp\u eMail\u Test3
@孟格=0,
@电邮至testuser@test.xx' ,
@电子邮件主题='test3',
@eMail_Body='Hallo,das ist ein Test',
@MyTable='test',
@MyWhere='not[sys_completed]为空'
@OpInd='只需将操作数更改为
如果您试图将其设置为
或旁注:您不应该在存储过程中使用sp_
前缀。Microsoft已经这样做了,而且您确实会在将来某个时候冒名称冲突的风险。最好只是避免使用sp_
而使用其他前缀,或者根本不使用前缀!哦!我非常高兴感谢你提供的这些信息。我没有注意到这些信息
exec sp_eMail_Test3
@Menge = 0,
@eMail_TO = 'testuser@test.xx' ,
@eMail_Subject = 'test3 ',
@eMail_Body = 'Hallo, das ist ein Test',
@MyTable ='test' ,
@MyWhere = 'not [sys_completed] is null'
@OpInd = '<'
IF @recordCount <> @Menge
begin
...
EXEC msdb.dbo.sp_send_dbmail
IF (@recordCount > @Menge or @recordCount < @Menge)
begin
...
EXEC msdb.dbo.sp_send_dbmail
declare @sql varchar(max)
set @sql =
'IF ' + cast(@recordCount as varchar(16)) + ' ' + @OpInd + ' ' + cast(@Menge as varchar(16)) + '
begin
...
EXEC msdb.dbo.sp_send_dbmail'
EXEC(@sql)