Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.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存储过程任务_Sql_Sql Server 2008_Scheduled Tasks - Fatal编程技术网

SQL Server存储过程任务

SQL Server存储过程任务,sql,sql-server-2008,scheduled-tasks,Sql,Sql Server 2008,Scheduled Tasks,我正在尝试对服务器上的计划任务运行存储过程。存储过程运行一个查询,并为我们的库存程序提供我们的库存总量 我已将任务设置为运行sqlcmd.exe,并将下面的查询作为.sql文件中的变量传递。问题是我不能100%确定我传递了正确的变量,尽管我从SQL中得到了一个错误 下面是服务器在计算库存时运行的任务 (@P1 int,@P2 int,@P3 bit,@P4 bit,@P5 bit) declare @SessionID int declare @Res int exec @Res = stk_C

我正在尝试对服务器上的计划任务运行存储过程。存储过程运行一个查询,并为我们的库存程序提供我们的库存总量

我已将任务设置为运行sqlcmd.exe,并将下面的查询作为.sql文件中的变量传递。问题是我不能100%确定我传递了正确的变量,尽管我从SQL中得到了一个错误

下面是服务器在计算库存时运行的任务

(@P1 int,@P2 int,@P3 bit,@P4 bit,@P5 bit)
declare @SessionID int
declare @Res int
exec @Res = stk_CompileStockOnHandOnDate
'2079-06-01',
null,
@P1,
@P2,
1,
@P3,
@P4,
@P5,
@SessionID out
select @Res Result, @SessionID SessionID
我在SQLCMD中得到的错误消息是

Msg 1050, Level 15, State 1, Server SERVER\SQLEXPRESS, Line 1
This syntax is only allowed for parameterized queries.
Msg 137, Level 15, State 2, Server SERVER\SQLEXPRESS, Line 6
Must declare the scalar variable "@P1".

知道我哪里出了问题吗?

好的,所以我发现了发生了什么,我需要修改我正在传递的查询,以关联正确的参数(其中大部分为空)

下面是对像我这样的存储过程有问题的人的完整查询

USE [DATABASENAME]
GO

DECLARE @return_value int,
        @SessionID int

EXEC    @return_value = [dbo].[stk_CompileStockOnHandOnDate]
        @OnDate = '2079-06-01',
        @InSessionID = NULL,
        @ProductTagID = NULL,
        @StockLocationTagID = NULL,
        @ExtendedInformation = 1,
        @UnitCostReplacement = NULL,
        @UnitCostAVCO = NULL,
        @UnitCostFIFO = NULL,
        @SessionID = @SessionID OUTPUT

SELECT  @SessionID as N'@SessionID'

SELECT  'Return Value' = @return_value

GO