问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

SQL中exec的用法

发布网友 发布时间:2022-05-02 04:19

我来回答

8个回答

懂视网 时间:2022-05-02 08:40

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

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

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

eg:  
declare @fname varchar(20)
set @fname = ‘FiledName‘
Select @fname fromtableName             -- 错误,不会提示错误,但结果为固定值FiledName,并非所要。
Exec(‘select ‘ + @fname + ‘ fromtableName‘)    -- 请注意 加号前后的 单引号的边上加空格

当然将字符串改成变量的形式也可
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语句-exec执行

标签:语句   字符   int   ble   表名   file   注意   固定   输出参数   

热心网友 时间:2022-05-02 05:48

一般exec(@s)代表执行一句动态sql。
可参考以下例子,如代码:
declare @s varchar(2000)
declare @tablename varchar(20)
set @tablename='test'
set @s='select * from ' + @tablename + ''
exec(@s)结果:
注意:代码中倒数第二句的写法,也就是执行的动态sql语句,引用的动态名称需要用引号及加号。最后一句的动态sql也要用括号括起来。

热心网友 时间:2022-05-02 07:06

set
@s
=
'select
count(*)
from
userinfo
where
'+@zd
+'in
(select

from
tongji
where
zd
=
'+
@zd+
')'
select
@s--加上这句,看看输出的结果是不是你想要的select语句.这样就可以知道你哪儿的拼接有问题了
exec
@s--(貌似这样就可以)
--exec(@s)
lcht1986..你貌似理解错误,在他的第一段代码中.Where
后面的字段值是来自变量,不是写死的
mz
貌似是这个位置的空格的原因
+'in
应该是
+'
in

热心网友 时间:2022-05-02 08:41

declare
@s
varchar(4000)
declare
@zd
varchar(40)
set
@zd
=
'mz'
declare
@num
varchar(40)
set
@s
=
'select
count(*)
from
userinfo
where
'+@zd
+'
in
(select

from
tongji
where
zd
=
'+
@zd+
'
)'
exec(@s)
试一下
注意字符串连接时候的空格

热心网友 时间:2022-05-02 10:32

此句话应该这样:exec sp_getDjLsh 'DJH',@djlsh OUTPUT
exec @djlsh=sp_GetDjLsh 'DJH',@djlsh 这有点多此一举了
'DJH'表示输入参数

热心网友 时间:2022-05-02 12:40

固定用语.

EXEC是调用一个...

热心网友 时间:2022-05-02 15:05

create
procere
first_test_sp(@filter_name
nvarchar(1000))
as
exec
('declare
@temp
nvarchar(30)
select
@temp=left_code
from
item_code
where
'+
@filter_name)
print
@temp
go
--这样试试!

热心网友 时间:2022-05-02 17:46

declare
@s
varchar(4000);
set
@zd
varchar(40);
set
@s='select
count(*)
from
userinfo
where
mz
in(select

from
tongji
where
zd='''+@zd+''')';
exec(@s)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...分?普通话不好没事吧?我现在东营工作,这边有没有短期的培训... “腾马培训”的公务员面试辅导有实战模拟吗? 北京腾马顺通物流有限公司是骗人的吗?在木樨园那一带 vivonex屏幕是多大的 vivoNEX配置是怎么样的 衣服被染色了怎么能恢复? 描写关于旅行的唯美句子 关于旅行的文艺句子 旅行简短文艺句子出去玩的心情发朋友圈 麻辣捞面怎么做? 南京市有哪些私立高中 请问什么中国象棋软件最好,免费的哦!!! 怎样做影视剪辑上传自媒体 怎样对下载的视频进行剪辑? 我跟我男朋友分手半个月了,昨晚梦到我去找他复合,他表现冷淡,求解梦 昨晚梦见跟男友分手后男友不同意,又和好了,其实现实生活中已经分手啦,哪位帮忙解释一下。 闺密晚上做梦梦到自己和现任男友分手了,然后和前任男友复合是什么原因 梦到和已分手的男友和好 linux中在命令窗口怎么样跳到图形界面 linux在选择了图形界面后还能不能用命令窗口 学裱花要多长时间 学习裱花要学多久才可以学得很好啊 要学会裱花需要学多久? 学会裱花得用多长时间? 华泰证券通达信版选择股票怎么显示中证500 为什么最近几天华泰证券通达信软件里6039xx的股票没信息 华泰证券下载的软件怎么用啊,求哪位亲指导,最好有视频之类的,谢谢 华泰证券(通达信)版怎么写入选股条件 华泰证券能用通达街吗 华泰证券有通达信行情和交易系统吗? 请问哪里有的下华泰证券通达信合一版 。建行分期通可以提现吗 如何度过大学生活计划书 大学规划书如何写? 大学个人计划书? 大学生个人计划书怎么写 个人大学计划书怎么写 郑州驾驶证怎么换证 国内学习区块链一般选择哪个机构? 请问万家乐牌子的电热水器质量好不好? PPT中文字间距如何排版 宁波靠海所以经常下雨吗 求此二次元系列的壁纸,还有很多!!就只要这个少女的,她还有其他妆扮的…… 2016年宁波4月30日天气预报 求一张二次元壁纸,是黄昏,然后一条空旷的街道,一个短发女生围着围巾的。急求谢谢 这个宁波天气预报,我看了今天的天气预报答案有不同的三种,早上六、七点是13-22有阵雨…,七、八点是1... PPT制作的时候文本框里文字排版问题,客户进行 这个行字怎么也不能跟进连在一起 这个怎么弄呢 宁波方特2016年9月17日天气预报 求类似于这样的壁纸,好像是关在屏幕里的二次元女 宁波天气预报讲今天多云,但是下大雨,怎么回事? PPT文本框内字体排版出了问题怎么调整???