資料庫exec
『壹』 sql 中exec的意思
你去查一下sp_addextendedproperty這個存儲過程的定義嘛。exec就是執行存儲過程。
『貳』 SQL SERVER 2008 關於用EXEC執行存儲過程的問題
不帶 exec的執行存儲過程必須是事務的第一句
我舉個例子你就明白了
比如說我建立了一個存儲過程 procName
第一種情況:不用exec的
create table ()..
GO --注意這里的GO 表示要開始下一個事務了
procName --這里直接使用存儲過程名字 就是調用了
第二種情況:一定要使用 exec的
create table()
exec procName --你看這里,它不是作為這個事務的第一句開始的 所以要帶上exec
『叄』 資料庫的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=''[email protected]'''
exec (@sql)