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语句 字符串中使用 单引号
''
可以 使用
''''
查看全文
相关阅读:
【AtCoder】ARC097 (C
【51nod】1123 X^A Mod B (任意模数的K次剩余)
【洛谷】P4207 [NOI2005]月下柠檬树
【POJ】2454.Jersey Politics
【POJ】2069.Super Star
【POJ】2420.A Star not a Tree?(模拟退火)
【POJ】1026.Cipher
【POJ】3270.Cow Sorting
【POJ】1286.Necklace of Beads
【POJ】1067.取石子游戏
原文地址:https://www.cnblogs.com/xiang/p/372758.html
最新文章
Qt Ubuntu 编译出错-1: error: 找不到 -lGL
QML C++插件dll引用
Qt QWidget
C# Excel使用NPOI
Qt Excel
QML杂记
定时器
Qt 二维码
2.数据挖掘算法
1.数据挖掘基础
热门文章
12.Java的标记接口
11.Java对象类型判断
10.Java的单元测试
9.Java的深浅拷贝
8.JDK8新特性Stream流
Java中接口
2.C++面向对象补充1
【AtCoder】ARC094(C-F)题解
【LOJ】#2306. 「NOI2017」蔬菜
【LOJ】 #2305. 「NOI2017」游戏
Copyright © 2011-2022 走看看