这几天在写一个存储过程和自定义函数,功能很简单,拼凑出一条SQL语句,然后执行.就这么一个简答的存储过程,没想到居然让我气愤良久.也许是刚刚开始用的原因,感觉别扭至极.
1.本来想全部用函数来实现,既然能在存储过程中调用函数,那在函数中调用存储过程应该是很正常的事情,没想到他说只能调用函数和扩展存储过程,为什么
啊???之所以想调用存储过程是因为它可以用output参数返回多个值,这样比起函数只能有一个返回值用起来可爱很多,没想到居然不调存储过程.
2.没办法只能改用存储过程调用存储过程,我晕,问题又来了,存储过程的output参数不能为Table类型,俺真是服了U啊.
3.就这些俺也就忍了,最可气的是Varchar变量不能超过8000,俺的字符串远远超过这个限制,还好有text类型,可是一试才知道,text不能
做局部变量,没关系,我把你当做传入参数,你应该没意见了吧?好总算让俺通过了,可是,我ft啊,给它赋值的时候才通知俺,Text不能给它赋值.我知道
可以把他们分开放到多个变量中,不过老大,这也太麻烦了吧!
真是不爽,在C#里拼这个SQL几分钟就搞定了,在这个里面搞了半天还没弄出来,服了,最后还是决定不用这破玩意来做.
但愿SQL Server2005会好一些.