Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 如何在sql游标中传递多个参数_Sql Server 2008 - Fatal编程技术网

Sql server 2008 如何在sql游标中传递多个参数

Sql server 2008 如何在sql游标中传递多个参数,sql-server-2008,Sql Server 2008,好的,这是我的光标。我使用它将empcode从email_表传递到游标,然后游标将此参数传递到我的报告工具中。这个很好用 比方说,我现在想包括email_表中的另一个变量bcode,它也需要传递到游标中。有什么帮助吗?哦,很抱歉。那么现在呢?啊哈,经过几次迭代,我们开始找到真正的问题。我怀疑你想问我们的是:“如何在一个独立的查询中包含一个非独立的列”我说得对吗?好吧,让我这样说。我需要根据销售团队的员工id向他们发送报告,该id是上面光标中传递的参数。我们现在希望能够不仅通过员工id,而且还通过

好的,这是我的光标。我使用它将empcode从email_表传递到游标,然后游标将此参数传递到我的报告工具中。这个很好用


比方说,我现在想包括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