執行存儲過程exec
Ⅰ sql SERVER 如何應用存儲過程呢操作方法有什麼呢
SQL SERVER 如何應用存儲過程呢?
首先最好在SQL SERVER的管理工具中通過create procere寫一條語句來創建存儲過程,創建語句後,點擊工具欄中的執行命令,消息欄中顯示命令已成功完成的消息,證明存儲過程已創建。然後就可以在存儲過程子文件夾下看到自己創建的存儲過程了,執行存儲過程,可以使用exec命令,後跟存儲過程的名稱,另外,還可以在創建存儲過程的時候傳入參數,如下圖,需要使用@符號傳入參數,如果你的存儲過程加了參數,那麼如果你調用的時候沒有傳入參數,SQL SERVER會提示錯誤。
3、存儲過程減少網路流量對於資料庫對象的相同操作,如果將此次操作所涉及的T-SQL語句組織成一個存儲過程,在客戶端調用該存儲過程時,只在網路上傳遞調用語句,否則會是多條 SQL 語句。從而減輕了網路流量,降低了網路負載存儲過程可以用作安全機制,系統管理員可以對要執行的存儲過程的許可權進行限制,從而限制對某些數據的訪問,避免未經授權的用戶訪問數據,保證數據安全。
Ⅱ SQL SERVER 2008 關於用EXEC執行存儲過程的問題
不帶 exec的執行存儲過程必須是事務的第一句
我舉個例子你就明白了
比如說我建立了一個存儲過程 procName
第一種情況:不用exec的
create table ()..
GO --注意這里的GO 表示要開始下一個事務了
procName --這里直接使用存儲過程名字 就是調用了
第二種情況:一定要使用 exec的
create table()
exec procName --你看這里,它不是作為這個事務的第一句開始的 所以要帶上exec
Ⅲ 資料庫中的存儲過程怎麼用 啊!!求解.....
存儲過程分為四類;系統存儲過程、用戶定義存儲過程、臨時存儲過程(以「#」或「##」為前綴)、擴展存儲過程。
常用的系統存儲過程的使用:
(1)sp_helpdb
用於查看資料庫名稱和大小。
(2)sp_helptext
用於顯示規則、默認值、未加密的存儲過程、用戶定義函數、觸發器或視圖的文本。
(3)sp_renamedb
用於重命名資料庫。
(4)sp_rename
用於更改當前資料庫中用戶創建對象(如表、列或用戶定義數據類型)的名稱。
(5)sp_helplogins
查看所有資料庫用戶登錄信息。
(6)sp_helpsrvrolemember
用於以查看所有資料庫用戶所屬的角色信息。
就列這些常用的了,其他你自己慢慢找資料看看。
Ⅳ 為什麼運行exec無法執行存儲過程,提示無效sql語句
exec 存儲過程名稱
並不是 exec '存儲過程名稱'
請注意 並採納 謝謝!
Ⅳ sql存儲過程exec為什麼出錯
exec是用來執行存儲過程的,把代碼封裝到存儲過程中,然後使用exec調用
舉例:
創建語句:
CREATE PROCEDURE dbo.ProTest
AS
DECLARE @test int
SET @test = 1
Go
執行SQL語句:
EXEC dbo.ProTest
Ⅵ 如何執行oracle存儲過程,就exec一下
這個得看你在哪裡執行了,如果是命令窗口用 exec 存儲過程名 就可以。
如果是pl/sql窗口就得用 beging 過程名 end; 包含起來作為匿名塊來執行。
Ⅶ 如何執行存儲過程
存儲過程(stored
procere)是一組為了完成特定功能的sql語句集,經編譯後存儲在資料庫中。用戶通過指定存儲過程的名字並給出參數(如果該存儲過程帶有參數)來執行它。存儲過程是資料庫中的一個重要對象,任何一個設計良好的資料庫應用程序都應該用到存儲過程。
Ⅷ 資料庫的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)
Ⅸ sql server 中的EXEC有什麼用!
exec函數族的作用為根據指定的文件名找到可執行文件,並用它來取代調用進程的內容,換句話說,就是在調用進程內部執行一個可執行文件。這里的可執行文件既可以是二進制文件,也可以是任何Linux下可執行的腳本文件。
exec函數族的函數執行成功後不會返回,因為調用進程的實體,包括代碼段,數據段和堆棧等都已經被新的內容取代,只留下進程ID等一些表面上的信息仍保持原樣,看上去還是舊的軀殼,卻已經注入了新的靈魂。只有調用失敗了,它們才會返回一個-1,從原程序的調用點接著往下執行。
(9)執行存儲過程exec擴展閱讀
使用exec函數族主要有兩種情況:
1、當進程認為自己不能再為系統和用戶做出任何貢獻時,就可以調用exec函數族中的任意一個函數讓自己重生。
2、如果一個進程想執行另一個程序,那麼它就可以調用fork函數新建一個進程,然後調用exec函數族中的任意一個函數,這樣看起來就像通過執行應用程序而產生了一個新進程(這種情況非常普遍)。
Ⅹ 存儲過程 exec(@strSql)與exec @strSql有什麼區別
exec (@strsql)是用來執行變數形式的SQL語句方式,一定要用括弧;
exec @strsql 是用來執行存儲過程的形式,如果@strsql是變數,先計算後執行計算結果所表示的存儲過程。
如1.
declare @strsql varchar(100)
set @strsql="select getdate()"
exec (@strsql)
2.
declare @r int
set @strsql="BackupData'
exec @r=@strsql 'jsox_history',''
@r可取得返回值。