易截截图软件、单文件、免安装、纯绿色、仅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)                -- 成功
     


相关文档:

用SQL语句拼接数据库表中一列的数据

最近在一个项目中遇到需要在数据层就拼接表中一列数据的问题。
例如,test表中有个字段t,t列中的4行数据为1,2,3,4 ,要拼接成1+2+3+4,琢磨了一阵,本来想用游标,但是效率。。后来找到一段SQL,可以很方便地拼接。
DECLARE @STR VARCHAR(8000) ----定义查询字符串
SELECT @STR=ISNULL(@STR+'+','')+t from (SELECT DIST ......

SQL中Case的使用方法(下篇)

接上篇
四,根据条件有选择的UPDATE。
例,有如下更新条件
工资5000以上的职员,工资减少10%
工资在2000到4600之间的职员,工资增加15%
很容易考虑的是选择执行两次UPDATE语句,如下所示
--条件1
UPDATE Personnel
SET salary = salary * 0.9
WHERE salary >= 5000;
--条件2
UPDATE Personnel
SET sala ......

查看SQL Server日志的方法

转自http://blog.csdn.net/ziren235/archive/2007/07/03/1676347.aspx
在SQL Server2000中,一个数据库的日志是以*.ldf 文件存放,请问我想查看某一个数据库的日志,该如何操作.
方法1、
DBCC LOG('DatabaseName',2)
方法2:
select * from ::fn_dblog(default,default)
方法3
用Log Explorer ......

SQL Server、Oracle和MySQL中查出值为NULL的替换

SOURCE: CLICK HERE
本文讲述SQL Server、Oracle、MySQL查出值为NULL的替换。
在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办?
1、MSSQL: ISNULL()
语法
ISNULL ( check_expression , replacement_value )
参数
check_expression
将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。
re ......

SQL server2005中文件备份与恢复

备份
BACKUP DATABASE mydb
TO DISK='c:\olddb.bak'
WITH INIT
--为了测试,把备份好的文件从C盘移动到D:\tempdb 文件夹
--还原
--1.用此语句得到备份文件的逻辑文件名:
RESTORE FILELISTONLY from DISK = N'd:\tempdb\olddb.bak' --备份文件存放路径
--看LogicalName,一般会有两个文件,如:
--olddb &nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号