摘要:一直以为自定义函数只是比存储过程多了一个返回值而已,没有想到有这么多的限制,事情的起源都是因为下面这个简单的自定义函数引起的:CREATEFUNCTIONMyTestFunction(@TestContentVARCHAR(20))RETURNSVARCHAR(255)ASBEGININSERTINTOMyTestTable(Column1)VALUES(@TestContent)RETURN'a...
阅读全文
摘要:作为演示,首先我们建立一个存储过程,当然这个存储过程会包含一个OUTPUT类型的参数:CREATEPROCEDUREMyTest@MyVarvarchar(25)OUTPUTASBEGINSELECT@MyVar='abc'ENDGO这段代码很简单,重点在于OUTPUT类型的参数后面一定要有OUTPUT。既然是输出的,当然要有个输出的地方,也就是为了运行这个存储过程,首先要先声明一个变量,调用的方...
阅读全文
摘要:就是下面一段代码:IFEXISTS(SELECT@MyValue=MyValueFROMTestTableWHERECondition='ABC')BEGINPRINT@MyValueEND在SSMS中进行调试,会报错:消息102,级别15,状态1,第3行'='附近有语法错误。这个错误应该是前面那个等号报的,因为做了下面这个调试:IFEXISTS(SELECT1FROMTestTableWHERE...
阅读全文
摘要:看看MSDN的Create Table部分,长长的内容,别人不知道,我看了可是头疼。而用SSMS生成的SQL脚本,功能上是肯定没有问题的,可是从美观上,总是感觉不爽。而且用SSMS生成的脚本,包括外键、约束什么的,都是通过修改的方式增加上去的,无故的增加了几行代码,其实所有的内容就是一个Create Table么。IFOBJECT_ID('Users','U')ISNOTNULLDROPTABLE...
阅读全文
摘要:当把从其它机器备份出来的数据库,还原到自己的机器上后,在SSMS中点击这个数据库的数据库关系图时,出现了以下提示:此数据库没有有效所有者,因此无法安装数据库关系图支持对象。若要继续,请首先使用“数据库属性”对话框的“文件”页或ALTER AUTHORIZATION语句将数据库所有者设置为有效登录名,然后再添加数据库关系图支持对象。数据库中确定是有数据库关系图的。提示给出了两种方法,第一种试了几次都...
阅读全文
摘要:如果使用类似下面的SQL语句:select columnA, columnB from tableA where columnA = 'Condition 1'union select columnC, columnD from tableB where columnC = 'Condition 1'order by columnA asc 系统会报错:消息 207,级别 16,状态 1,第 4 ...
阅读全文
摘要:转载自:http://www.cnhonker.com/bbs/simple/index.php?t1440.html 如何确定所运行的 SQL Server 2005 的版本 要确定所运行的 SQL Server 2005 的版本,请使用 SQL Server Management Studio 连接到 SQL Server 2005,然后运行以下 Transact-SQL 语句:SELECT...
阅读全文