设为首页
收藏本站
最新电影
> 子栏目 Asp | Jsp | XML | XSL | Div+Css | 自定义函数 | 数据库 | 脚本特效
您现在的位置: 首页=>后台技术=>数据库 订阅本栏目  
Sql中 使用变量 获取 exec 执行结果
时间: 2008-10-11 14:40:42 阅读次数:2993


动态sql语句基本语法
1 :普通SQL语句可以用Exec执行

eg:
Select*from tableName
Exec('select * from tableName')
Exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N

2:字段名,表名,数据库名之类作为变量时,必须用动态SQL

eg:
declare @fnamevarchar(20)

set @fname='FiledName'

Select@fnamefrom tableName -- 错误,不会提示错误,但结果为固定值FiledName,并非所要飞飞Asp,技术乐园

Exec('select '+@fname+' from tableName') -- 请注意 加号前后的 单引号的边上加空格

当然将字符串改成变量的形式也可

declare@fnamevarchar(20)

set@fname='FiledName'--设置字段名 declare@svarchar(1000)

set@s='select '+@fname+' from tableName'Exec(@s) -- 成功

exec sp_executesql @s -- 此句会报错

declare@sNvarchar(1000) -- 注意此处改为nvarchar(1000) set@s='select '+@fname+' from tableName'

Exec(@s) -- 成功 exec sp_executesql @s -- 此句正确

3. 输出参数
declare@numint,

@sqlsnvarchar(4000)

set@sqls='select count(*) from tableName'exec(@sqls)

--如何将exec执行结果放入变量中? declare@numint,

@sqlsnvarchar(4000)

set@sqls='select @a=count(*) from tableName 'exec sp_executesql @sqls,N'@a int output',@num output

select@num



站内搜索    

下一篇Microsoft SQL Server 2005 Service Pack 3(sqlserver2005 sp3)微软官方下载地址

上一篇数据类型详解 MSSQL

本栏目最新 栏目最新列表
access由于您和其他用户试图同时改变同一数
Microsoft SQL Server 2005 Service Pack 3
MySQL时间戳转换的方法
清除,删除表中数据的方法
mysql常用时间函数用法解释
网站优化策划 栏目最新列表
增加网站外链的快速方法
网站上线前必做的30个检查
新的友情链接参考标准(没有google的PR情况
优化Google的AdSense广告的五个工具
王通讲SEO八大基础
站点最新 站点最新列表
微博推广的一些技巧
xhEditor v1.1.7 发布,
收集的一些轻量级非常实
50个新鲜兼容最新版本的
javascript中cookie的设
Excel中出现#VALUE!、#D
jquery插件:飞飞表情插件
十个使用HTML5开发的精彩
支持HTML5的浏览器有哪些
飞妮莫属:漫画:如何写出
历史最热10条信息  
MIME介绍 及 [1] [2] [3]
巧用Google和迅雷来下载
Transact SQL 常 [1] [2]
VIA Rhine II Fast Ethe
电脑常用端 [1] [2] [3]
Do you get a kick out
十道羊皮卷 欣赏+mp3版+
每日一句:A friend and
每日一句:Theres no tu
经典__悟透JavaScript
 width= 
伟哥博客 西安房产 123最新电影 三四六四