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