CREATE PROCEDURE SelectAddress 
    @USER_ID VARCHAR(20), 
@GROUP_ID INT, 
@SEX CHAR(1)='', 
@NICK_NAME VARCHAR(50) = '', 
@DEPT_NAME VARCHAR(50) = '', 
@ADD_DEPT VARCHAR(200) = '', 
@ADD_HOME VARCHAR(200) = '', 
@NOTES varchar(1000) = '' --参数而已,有必要申明为text类型????,1000个字符还不够
AS 

解决方案 »

  1.   

    这样报错了,提示为:参数或变量: 不能对数据类型 text 指定列宽。
      

  2.   

    晕倒。难道用户输入的NOTES 有2G ??随便设NVARCHAR 500 就大把他写了。
     
      

  3.   

    今晚,应该是昨晚,刚碰到类似的问题,主要是EXEC的问题,如果@SQL里有参数的话,直接Exec(@SQL)是有问题的,有参数的时候似乎要调用系统的一个函数,本人水平有限,未能解决,最后还是用稍为土点的方法,直接写个完整的SQL语句,不用Exec了。
      

  4.   

    sql语言规定的,text或ntext或二进制数据是不支持运算符的,因此你也就无法比较了