zoukankan
html css js c++ java
动态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语句 字符串中使用 单引号
''
可以 使用
''''
查看全文
相关阅读:
[ZJOI2006]物流运输
[SCOI2009]生日快乐
[FJOI2007]轮状病毒
[转载]centos 7(1611)安装笔记
发行版Linux和麒麟操作系统下netperf 网络性能测试
ARM64平台编译stream、netperf出错解决办法 解决办法:指定编译平台为alpha [root@localhost netperf-2.6.0]# ./configure –build=alpha
查看linux系统是多少位,使用 getconf LONG_BIT
https://www.jqhtml.com/30047.html strace + 命令: 这条命令十分强大,可以定位你程序到底是哪个地方出了问题
Centos7 利用crontab定时执行任务及配置方法
清楚自己的短板是什么 搞清楚自己的职业规划是什么
原文地址:https://www.cnblogs.com/xiang/p/372758.html
最新文章
深入Flutter
React中组件逻辑复用的那些事儿
前端打包工具对比
可靠性测试竟如此容易
浅谈云网融合与SD-WAN
如何计算边缘计算的成本
华为参与《基于5G技术的医院网络建设标准》的制定
管理平台与黑科技双轮驱动,华为云让混合云管理更简单
无人车飞速狂飙,黑科技如何为其加油打气?
华为担纲建设基础软硬件国家新一代AI开放创新平台
热门文章
【华为云网络技术分享】HTTP重定向HTTPS配置指南
PostGreSQL(1)-源码安装
【跟唐老师学习云网络】
[HNOI2003]激光炸弹
[SCOI2005]繁忙的都市
P4279 [SHOI2008]小约翰的游戏
[JSOI2007]麻将
[JLOI2014]松鼠的新家
[ZJOI2008]树的统计
[Usaco2007 Jan]Balanced Lineup
Copyright © 2011-2022 走看看