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 表类型参数的列名无效_Sql_Sql Server 2008_Stored Procedures_Ssrs 2008 - Fatal编程技术网

Sql 表类型参数的列名无效

Sql 表类型参数的列名无效,sql,sql-server-2008,stored-procedures,ssrs-2008,Sql,Sql Server 2008,Stored Procedures,Ssrs 2008,我有一个表类型,它在存储过程中用于筛选出值 CREATE TYPE PackageIdType AS TABLE ( PackageId VARCHAR(150) ); 我的存储过程如下所示: CREATE PROCEDURE [dbo].[spLocalGetValuesFromTable] @RundateStart datetime, @RundateEnd datetime, @CreationIds PackageIdT

我有一个表类型,它在存储过程中用于筛选出值

CREATE TYPE PackageIdType AS TABLE   
( 
     PackageId VARCHAR(150)  
);  
我的存储过程如下所示:

CREATE PROCEDURE [dbo].[spLocalGetValuesFromTable]    
     @RundateStart datetime,
     @RundateEnd datetime,
     @CreationIds PackageIdType READONLY  
AS
     SELECT * 
     FROM MYTABLE 
     WHERE date BETWEEN @RundateStart AND @RundateEnd 
       AND Ids IN (@CreationIds)
但当我运行此获取错误时:

Msg 207,级别16,状态1,程序SPLOCALGETVALUES fromtable,第--[批处理起始行0]
列名“@CreationIds”无效


这是一个表,所以正确的语法应该是

SELECT *
FROM  MYTABLE
WHERE date Between @RundateStart And @RundateEnd 
  AND Ids in (SELECT PackageId FROM @CreationIds)
这假设表
@CreationIds
中的每一行都是一个Id,可以映射到与
MYTABLE
中的
Id
相同的类型