SQL Server数据库中的变量可以加载TOP字句之后,下文将对TOP字句加SQL变量的相关问题进行讨论,供您参考,希望对您学习SQL数据库有所帮助。
10年积累的做网站、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有绛县免费网站建设让你可以放心的选择与我们合作。
SQL Server2005开始,TOP子句后可以跟常量或者变量,跟常量时可省略括号,即top(2)和top 2是等价的(注意不加括号时top和2间的空格),top后使用SQL变量时必须使用括号,例:
Sql代码
declare @num int
set @num = 10
select top(@num) * from sys.tables
declare @num int
set @num = 10
select top(@num) * from sys.tables
使用动态SQL为:
Sql代码
declare @num int
set @num = 10
declare @str nvarchar(1000)
set @str = 'select top('+cast(@num as nvarchar(10))+') * from sys.tables'
exec(@str)
declare @num int
set @num = 10
declare @str nvarchar(1000)
set @str = 'select top('+cast(@num as nvarchar(10))+') * from sys.tables'
exec(@str)
关于exec的一些备注:
1.使用exec命令时,括号中只允许包含一个字符变量,或者一个字符串文本,或者字符串变量与字符串文本的串联。不能在括号中使用函数或CASE表达式,所以最好将代码放在一个变量中,再把此SQL变量作为exec命令的参数
2.exec(
set @str = 'select top('+@num +') * from sys.tables';
exec(@str)
set @str = 'select top('+@num +') * from sys.tables';
exec(@str)
则会报错
3.同样的exec也不支持输出参数,如果要把输入放进一个SQL变量,必须先把输入插入一个目标表,然后再从目标表例取值赋给该变量
【编辑推荐】
Transact-SQL变量的声明
设置Transact-SQL变量中的值
SQL变量定义赋值及调用
SQL中的指示变量及数组变量
SQL中系统变量的应用实例
名称栏目:TOP字句加SQL变量的相关问题
文章网址:http://www.csdahua.cn/qtweb/news9/480909.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网