古詩詞大全網 - 成語故事 - 數據庫的“EXEC”是什麽意思?應該怎麽用?

數據庫的“EXEC”是什麽意思?應該怎麽用?

sqlserver中\x0d\EXEC命令有兩種用法,壹種是執行壹個存儲過程,另壹種是執行壹個動態的批處理\x0d\\x0d\1.使用系統存儲過程sp_executesql運行Unicode命令字符串\x0d\語法如下:\x0d\sp_executesql [@stmt=] stmt\x0d\[\x0d\ {,[@params=] N'@parameter_name data_type [,...n]'}\x0d\ {,[@param1=] 'value' [,...n]}\x0d\]\x0d\說明:必須先將各個包含所要運行的命令語句的Unicode字符串相加在壹起,再交給系統存儲過程sp_executesql來運行,而不能在sp_executesql的語句中來相加各個命令字符串。\x0d\舉例如下:\x0d\declare @DBName nvarchar(20),\x0d\ @Tbname nvarchar(20),\x0d\ @SQLString nvarchar(500)\x0d\set @DBName=N'Northwind'\x0d\set @Tbname=N'Customers'\x0d\set @SQLString=N'USE '+@DBName+char(13) --char(13)換行\x0d\SET @SQLString=@SQLString+N'select * from '+@Tbname\x0d\--必須先將命令字符串組合完畢後再交給sp_executesql來運行\x0d\exec sp_executesql @SQLString\x0d\\x0d\2.使用EXECUTE命令運行命令字符串\x0d\要使用EXECUTE命令來運行壹個命令字符串的語法如下:\x0d\EXEC[UTE] ({@string_variable|[N] 'stql_string'} [+...n])\x0d\從語法看出,可以先將包含所要運行的命令的字符串賦給壹個局部變量@string_variable,再使用EXECUTE命令來運行,或是直接使用EXECUTE命令去運行壹個包含所要運行的命令語句的字符串。此外,您也可以將多個包含所要運行的命令語句的字符串相加在壹起,再交給EXECUTE命令來壹次運行。\x0d\\x0d\例:\x0d\declare @sql nvarchar(4000) \x0d\ set @sql='select * from [表] where email=''test@163.com''' \x0d\ exec (@sql)