学习
SQL
应知道的动?/p>
SQL
语句基本语法
1
、普?/p>
SQL
语句可以?/p>
Exec
执行
eg:
Select
*
from
tableName
Exec('select
*
from
tableName')
Exec
sp_executesql
N'select
*
from
tableName'
--
请注意字符串前一定要?/p>
N
2
、字段名,表名,数据库名之类作为变量时,必须用动?/p>
SQL
eg:
declare
@fname
varchar(20)
set
@fname
=
'FiledName'
Select
@fname
from
tableName
--
错误
,
不会提示错误,但结果为固定?/p>
FiledName,
?/p>
非所要?/p>
Exec('select
'
+
@fname
+
'
from
tableName')
--
请注?/p>
加号前后?/p>
单引号的边上?/p>
空格
当然将字符串改成变量的形式也?/p>
declare
@fname
varchar(20)
set
@fname
=
'FiledName'
--
设置字段?/p>
declare
@s
varchar(1000)
set
@s
=
'select
'
+
@fname
+
'
from
tableName'
Exec(@s)
--
成功
exec
sp_executesql
@s
--
此句会报?/p>
declare
@s
Nvarchar(1000)
--
注意此处改为
nvarchar(1000)
set
@s
=
'select
'
+
@fname
+
'
from
tableName'
Exec(@s)
--
成功
exec
sp_executesql
@s
--
此句正确
3
、输出参?/p>
declare
@num
int,
@sqls
nvarchar(4000)
set
@sqls='select
count(*)
from
tableName'
exec(@sqls)
--
如何?/p>
exec
执行结果放入变量中?
declare
@num
int,
@sqls
nvarchar(4000)
set
@sqls='select
@a=count(*)
from
tableName
'