|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。静态|语句
1:
一般SQL语句能够用Exec实行
eg:Select*fromtableName
Exec(select*fromtableName)
sp_executesqlNselect*fromtableName--请注重字符串前必定要加N
2:
字段名,表名,数据库名之类作为变量时,必需用静态SQL
eg:
declare@fnamevarchar(20)
set@fname=[name]
Select@fnamefromsysobjects--毛病
Exec(select+@fname+fromsysobjects)--请注重加号前后的单引号的边上要加空格
execsp_executesqlNselect+@fname+fromsysobjects
固然将字符串改成变量的情势也可
declare@svarchar(1000)
set@s=select+@fname+fromsysobjects
Exec(@s)--乐成
execsp_executesql@s--此句会报错
declare@sNvarchar(1000)--注重此处改成nvarchar(1000)
set@s=select+@fname+fromsysobjects
Exec(@s)--乐成
execsp_executesql@s--此句准确,
3:输入参数
eg:
declare@num,
@sqls
set@sqls=selectcount(*)from+@servername+.a.dbo.b
exec(@sqls)
我怎样能将exec实行的了局存进变量@num中
declare@numint,
@sqlsnvarchar(4000)
set@sqls=select@a=count(*)from+@servername+.a.dbo.b
execsp_executesql@sqls,N@aintoutput,@numoutput
select@num
这类操作的执行过程是,1)按照新的表定义建立一个临时表tmpa,2)将原表数据拷贝到临时表,3)将原始表改名tmpb,4)将tmpa改名为原表名,5)将tmpb删除。 |
|