日期:2014-05-18  浏览次数:20523 次

关于表变量的问题
我看到创建存储过程的一段代码,但是定义的表变量有些看不懂,请高手解释下:
SQL code

CREATE PROC spInsContractExpireDate @operatorId varchar(20),
                                    @t tyContractExpire readonly
AS
  BEGIN
    SET nocount ON


其中@t tyContractExpire readonly这句,tyContractExpire是什么意思,后面的readonly是什么意思?
这里定义了@t后,我在后面的语句也没看到关于tyContractExpire的内容啊,麻烦高手解答下。

------解决方案--------------------
看看2008的联机丛书create procedure
------解决方案--------------------
这样的应该是错误的。
参数变量中间不能存在有空格
你可以在分析器里面检查一下。

SQL code

/*
Msg 2715, Level 16, State 3, Procedure spInsContractExpireDate, Line 1
第 2 个列、参数或变量: 找不到数据类型 tyContractExpire。
参数或变量 '@t' 的数据类型无效。
*/

------解决方案--------------------
tyContractExpire 有可能是自定义的数据类型吧。
readonly就是只读属性呀,不能被修改!