sql-server-2008 – 为什么我不能像我想象的那样在T-SQL中使用变
发布时间:2020-12-12 16:58:24 所属栏目:MsSql教程 来源:网络整理
导读:请原谅我,我是一名移植到SQL世界的开发人员.我以为我可以通过添加变量来改进一些SQL,但它没有像我预期的那样运行.有人能告诉我为什么这不起作用?我不想要一个解决方法,我想知道为什么这不起作用的原因我想象它应该因为我确信有一个很好的理由,但目前它并没有
请原谅我,我是一名移植到SQL世界的开发人员.我以为我可以通过添加变量来改进一些SQL,但它没有像我预期的那样运行.有人能告诉我为什么这不起作用?我不想要一个解决方法,我想知道为什么这不起作用的原因我想象它应该因为我确信有一个很好的理由,但目前它并没有跳出来.
DECLARE @DatabaseName varchar(150) SET @DatabaseName = 'MyAmazingDatabaseName' CREATE DATABASE @DatabaseName GO USE @DatabaseName GO 解决方法根据 variables的书籍在线页面
例如,如果您在where子句中使用了变量,它将以您期望的方式工作.至于为什么,我认为它与解析器无法评估变量并因此检查存在有关.执行时,首先解析查询的语法和对象,然后,如果解析成功,查询将执行该变量的设置. DECLARE @name varchar(20); SET @name = 'test'; CREATE TABLE [#tmp]([val] varchar(10)); insert into #tmp values('test') SELECT * FROM [#tmp] WHERE [val] = @name; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |