易截截图软件、单文件、免安装、纯绿色、仅160KB

动态SQL基本语法

1 :普通SQL语句可以用exec执行
Select * from tableName
exec('select * from tableName')
exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N
2:字段名,表名,数据库名之类作为变量时,必须用动态SQL
declare @fname varchar(20)
set @fname = 'FiledName'
Select @fname from tableName -- 错误,不会提示错误,但结果为固定值FiledName,并非所要。
exec('select ' + @fname + ' from tableName') -- 请注意 加号前后的 单引号的边上加空格
当然将字符串改成变量的形式也可
declare @fname varchar(20)
set @fname = 'FiledName' --设置字段名
declare @s varchar(1000)
set @s = 'select ' + @fname + ' from tableName'
exec(@s) -- 成功
exec sp_executesql @s -- 此句会报错
declare @s Nvarchar(1000) -- 注意此处改为nvarchar(1000)
set @s = 'select ' + @fname + ' from tableName'
exec(@s) -- 成功
exec sp_executesql @s -- 此句正确
3. 输出参数
declare @num int, @sqls nvarchar(4000)
set @sqls='select count(*) from tableName'
exec(@sqls)
--如何将exec执行结果放入变量中?
declare @num int, @sqls nvarchar(4000)
set @sqls='select @a=count(*) from tableName '
exec sp_executesql @sqls,N'@a int output',@num output
select @num


相关文档:

SQL UNIQUEIDENTIFIER

当你正在处理被多个站点(像在跨国公司条件下)使用的大数据库时,你也许会遇到保证表格对象唯一性这样的棘手问题。在这种情形下,可能只能靠UNIQUEIDENTIFIER来解决。UNIQUEIDENTIFIER是一个保存全局唯一标识符的GUID数据类型。GUID是一个保证唯一的二进制数,因此几乎没有别的计算机会产生同一个值。
GUID的唯一值是由计 ......

SQL Server 2005 Analysis Services部署时报告错误

 数据源......包含无法用于处理操作的 ImpersonationMode。
解决方法:
服务器连接改为“使用服务账户”。
具体操作:
在数据源里的项目上点击右键->打开->数据源设计器 , 选择“模拟信息”标签->选择“使用服务账户”,确定,执行部署。 ......

sql语句

 1. 说明:复制表(只复制结构,源表名:a,新表名:b)
SQL: select * into b from a where 1<>1;
        2. 说明:拷贝表(拷贝数据,源表名:a,目标表名:b)
SQL: insert into b(a, b, c) select d, e, f from b;
        3. ......

如何优化SQL Server数据库查询(转)

 1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)  
  2、I/O吞吐量小,形成了瓶颈效应。  
  3、没有创建计算列导致查询不优化。  
  4、内存不足  
  5、网络速度慢  
  6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)  
  7、锁或者死锁 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号