Sql server 2008 如何在sql游标中传递多个参数
好的,这是我的光标。我使用它将empcode从email_表传递到游标,然后游标将此参数传递到我的报告工具中。这个很好用Sql server 2008 如何在sql游标中传递多个参数,sql-server-2008,Sql Server 2008,好的,这是我的光标。我使用它将empcode从email_表传递到游标,然后游标将此参数传递到我的报告工具中。这个很好用 比方说,我现在想包括email_表中的另一个变量bcode,它也需要传递到游标中。有什么帮助吗?哦,很抱歉。那么现在呢?啊哈,经过几次迭代,我们开始找到真正的问题。我怀疑你想问我们的是:“如何在一个独立的查询中包含一个非独立的列”我说得对吗?好吧,让我这样说。我需要根据销售团队的员工id向他们发送报告,该id是上面光标中传递的参数。我们现在希望能够不仅通过员工id,而且还通过
比方说,我现在想包括email_表中的另一个变量bcode,它也需要传递到游标中。有什么帮助吗?哦,很抱歉。那么现在呢?啊哈,经过几次迭代,我们开始找到真正的问题。我怀疑你想问我们的是:“如何在一个独立的查询中包含一个非独立的列”我说得对吗?好吧,让我这样说。我需要根据销售团队的员工id向他们发送报告,该id是上面光标中传递的参数。我们现在希望能够不仅通过员工id,而且还通过分支机构来过滤员工,这是我想要传递的第二个参数。因此,现在根据这两个参数,报告将被过滤到正确分支的正确人员。
declare @USERID varchar(50)
Declare @FileName Varchar(500)
declare @file_ext nvarchar(30)
Declare @exeVariable nvarchar(4000)
declare @file_type nvarchar(50)
declare @messageBody nvarchar(MAX)
declare @attach nvarchar(MAX)
declare @p_recipients varchar(MAX)
declare @EMAIL_ID varchar(MAX)
declare @count float
set @file_type='PDF'
SET @file_ext='.pdf'
begin
Declare @USERID_Cursor Cursor
Set @USERID_Cursor = Cursor for
SELECT DISTINCT empcode,email FROM EmailTable
Open @USERID_Cursor
Fetch NEXT from @USERID_Cursor into @USERID,@EMAIL_ID
While @@FETCH_STATUS = 0
BEGIN
SET @exeVariable = '[FilePath=C:\inetpub\wwwroot\WebServer\ProgramGuide\Report1.Stat]'
SET @exeVariable = @exeVariable +'[ConnStr=Provider=SQLOLEDB.1;Password=*abcdef;Persist Security Info=True;User ID=abcd;Initial Catalog=OneKeyAgile;DataSource= ]'
SET @exeVariable = @exeVariable + '[NC_CountS=1][NC_ParaS=mcode][mcode='+@USERID+'] [NC_CountN=0][NC_ParaN=][NC_CountD=0][NC_ParaD=]'
SET @exeVariable = @exeVariable + '[FormatTyp=PDF][ExportPath=F:\abcd\Report 1-'+@USERID+'.PDF] [StatWebServer=http://192.168.5.25/WebServer/Service.asmx]'
SET @exevariable = '"C:\"Program Files"\"ABCD"\Reporter.exe ' + @exevariable +'"'
PRINT @exevariable
exec xp_cmdshell @exeVariable
SET @p_recipients = @EMAIL_ID
SET @attach = 'F:\BUDGET\Report1' + @USERID + @file_ext+''
SET @messageBody = ' '
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'ABCD',
@recipients = @p_recipients,
@body = @messageBody,
@file_attachments = @attach
Fetch NEXT from @USERID_Cursor into @USERID,@EMAIL_ID
END
Close @USERID_Cursor
Deallocate @USERID_Cursor
end