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

动态sql语句基本语法


SQL code
动态sql语句基本语法
1 :普通SQL语句可以用Exec执行
eg: Select * from tableName
Exec('select * from tableName')
Exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N
2:字段名,表名,数据库名之类作为变量时,必须用动态SQL
eg:
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 数据库的备份与还原

 【学习点点滴滴】 在很多情况与环境中,我们都要对已有的数据库进行备份,这样以防止当我们因人为或者服务器等诸多原因而导致的数据丢失,
   从而给我们带来很大的麻烦,我也是接触SQL没多长时间,对与它强大的数据可恢复功能 也只是略知一二,当然在这里也只是做对它做略略的记录,
  纯粹是 ......

sql查询最后一条数据

1、 sql查询最后一条数据select * from table order by id DESC limit 1
2、select top1 * from tablename where order by id desc
通过在mysql中测试,只有第一种可以使用,不知道其他数据库是否支持第二种方法,网上很多人说用第二种方法 ......

PL/SQL实现Oracle数据库任务调度

 
     选择自 softj 的 Blog
关键字
  PL/SQL实现Oracle数据库任务调度
出处
 
 
PL/SQL实现Oracle数据库任务调度
  关键词:数据恢复,任务调度,ORACLE,PL/SQL
  在数据库操作中时常会有这样的情况发生,由于一时的疏忽而误删或误改了一些重要的数据,另外还有 ......

DBF表与SQL Server表的导入、导出

 ----------Dbf 导入 Sql Server表----------
以下均以SQL2000、VFP6及以上的表为例
代码导入:查询分析器中执行如下语句(先选择对应的数据库)
-------------如果接受导入数据的SQL表已存在
--如果接受导入数据的SQL表已经存在
Insert Into 已经存在的SQL表名 Select * from openrowset('MSDASQL','Driver=Micros ......

利用正则表达式实现的简单的整理SQL文本的小工具

下载地址: http://download.csdn.net/source/1805903
  private string ReArrange(string str)
{
string[] keywords = new string[] {"select","from","where","and","order\\s+by","or","into",
"update","set","delete","haveing" ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号