所有人知道select * from tablename where aa=bb的用法
大部分人知道 exec('select * from tablename where aa=bb')的用法
但是仍然有很多人不知道sp_executesql的用法,他可以让动态sql接收参数且把查询结果返回到一个参数
--接收条件值参数的静态sql
declare @name varchar(100)
set @name='sysobjects'
select name from sysobjects where object_name(id)=@name
go
--接收整个条件描述的简单动态sql
declare @where varchar(100)
set @where='object_name(id)=''sysobjects'''
exec('select name from sysobjects where '+@where)
go
--接收整个条件描述,且把查询返回到变量参数的复杂动态sql
declare @where nvarchar(100)
set @where=N'object_name(id)=''sysobjects'''
declare @ret varchar(100)
declare @sql nvarchar(1000)
set @sql=N'select @ret=name from sysobjects where '+ @where
exec sp_executesql @sql,N'@ret varchar(100) output' ,@ret=@ret output
select @ret
go
--也许不了解第三种用法的朋友会质疑,从一个@where变量的条件提取数据到@ret变量有什么用,一个复杂的参考请参见我以前改编的
--<<伴水的划拳机器人>>的sql版,它完全是通过动态sql来实现的。
--http://topic.csdn.net/u/20080429/01/ccb2d78d-d7cd-4332-8fd8-667714f2ed62.html
分享到:
相关推荐
SQL Server2005基本方法和语句
SQLServer动态SQL语句的用法
sqlserver自动生成sql语句工具sqlserver转oracle
非常好用的SQL Server 抓取SQL语句工具HOOK 非常好用的SQL Server 抓取SQL语句工具HOOK 非常好用的SQL Server 抓取SQL语句工具HOOK 非常好用的SQL Server 抓取SQL语句工具HOOK
用一条SqlServer语句即可删除当前数据库中所有表的数据,表的结构保持不变。
导出一个库中的所有表的结构,包括表说明及字段说明
SQL Server中存储过程比直接运行SQL语句慢的原因
SqlServer数据库中的分页语句,SqlServer分页SQL语句特点:一次查询,数据库只返回一页的数据。而不是取出所有的数据。
选中SQL SERVER 数据库中的表,自动根据表结构及里面的数据,自动生成SQL语句,方便把数据导入到其它的数据库中,比较适合用于安装程序的制作工具了
公司的SQL Server 没装Profiler,从网上下载的一个非常好用,支持过滤器
在SQL Server中创建用户角色及授权(使用SQL语句)
SQLserver语句使用方法,SQLserver语句详细注释,SQLserver
SQLServer数据库sql语句基本应用全解,是我学习过程中的笔记,我觉得很有用,所以分享给大家!!!
SqlServer教程:经典SQL语句集锦,是初学sqlserver的好帮手。24条常用命令。
sqlserver管理索引优化SQL语句
1、可以通过语句对SQL server数据库中现有的身份证号进行验证,并把验证结果更新到某一列; 2、可以识别特殊字符、汉字、空格、位数不对等情况; 3、通过程序集和手动执行的sql,一般半小时内可以分析100万身份证...
可以支持导出单表的建表语句,也可以支持单库所有建表语句的导出以及同服务器跨库建表语句的导出。
用SQL语句j查SQLServer的表结构 用SQL语句j查SQLServer的表结构
Excel根据表格,生成sql语句 ,生成建表语句,自行到数据库中执行, 需要excel启用宏,按规则填充表格后可生成表格目录及生成sqlserver语句。
跨sqlserver数据查询和插入数据的实例,非常实用。