當前位置:首頁 » 存儲配置 » 存儲過程是否執行成功

存儲過程是否執行成功

發布時間: 2022-10-16 19:54:57

㈠ 怎麼知道 oracle存儲過程是否執行完

使用第三方軟體執行存儲過程後軟體會有所提示:
---比如sql
Navigator
在執行存儲過程後,運行按鈕恢復可點狀態,這就代表存儲過程通過並成功執行;您可以調用查詢您執行的存儲過程中的語句看看值都正常否。
---比如PL/SQL
這個執行後軟體會提示
"
procere
successfully
completed"這樣就代表執行成功;

㈡ C#中使用 SQL 存儲過程 ,怎樣驗證是否成功執行

對於 UPDATE、INSERT 和 DELETE 語句,返回值為該命令所影響的行數。對於其他所有類型的語句,返回值為 -1。

驗證SQL 存儲過程成功執行可以通過輸出參數來判斷,自己在存儲過程中增加
參考http://blog.csdn.net/wendy_chenlu/archive/2008/12/11/3498387.aspx

㈢ 如何判斷java的存儲過程是否成功執行

這個分兩種情況:
由於存儲過程是資料庫自身的東西,JAVA只是調用
所以,如果是語法上的錯誤
sql直接不能執行

JAVA確實能接收到異常
但是如果語法沒有錯誤,
只是你寫的條件錯了,
sql能執行,只是沒有得到你想要的效果,
這個情況,
是判斷不了的,
都會視為成功執行
如果
sql
=
"select
from
aaa
where
id
>
10"
這直接是語法
錯誤,肯定報錯

如果
sql
=
"update
aaa
set
name
=
'aaa'
where
id='123'
";
沒有語法
錯誤
,能執行,
只是沒有id
=
123的數據,
你要改124的,錯寫成123了,
就修改不了,
但也不會報任何錯

㈣ sql 怎麼判斷存儲過程是否執行

select * from master.dbo.sysprocesses
-- 列出 spid > 50 的.

對每個 spid 用 dbcc inputbuffer(spid) 看執行的文本, 如果搜索完所有的 spid, 其執行的文本中都沒有包括你的存儲過程.
則基本上可判斷出存儲過程未執行.

㈤ oracle 怎麼知道存儲過程是否已經執行

1、在存儲過程中加一個輸出參數,執行完存儲過程後,判斷輸出參數的值;
2、查看存儲過程中處理數據後,你要的效果達到沒有。

㈥ 怎麼知道 oracle存儲過程是否執行完

使用第三方軟體執行存儲過程後軟體會有所提示:
---比如SQL Navigator 在執行存儲過程後,運行按鈕恢復可點狀態,這就代表存儲過程通過並成功執行;您可以調用查詢您執行的存儲過程中的語句看看值都正常否。
---比如PL/SQL 這個執行後軟體會提示 " procere successfully completed"這樣就代表執行成功;

㈦ 存儲過程中用什麼來判斷sql語句是否執行成功

Transact-SQL 參考

@@ERROR
返回最後執行的 Transact-SQL 語句的錯誤代碼。

語法
@@ERROR

返回類型
integer

注釋
當 Microsoft® SQL Server™ 完成 Transact-SQL 語句的執行時,如果語句執行成功,則 @@ERROR 設置為 0。若出現一個錯誤,則返回一條錯誤信息。@@ERROR 返回此錯誤信息代碼,直到另一條 Transact-SQL 語句被執行。您可以在 sysmessages 系統表中查看與 @@ERROR 錯誤代碼相關的文本信息。

由於 @@ERROR 在每一條語句執行後被清除並且重置,應在語句驗證後立即檢查它,或將其保存到一個局部變數中以備事後查看。

示例
A.用 @@ERROR 檢測一個特定錯誤
下面的示例用 @@ERROR 在一個 UPDATE 語句中檢測限制檢查沖突(錯誤 #547)。

USE pubs
GO
UPDATE authors SET au_id = '172 32 1176'
WHERE au_id = "172-32-1176"

IF @@ERROR = 547
print "A check constraint violation occurred"

B.用 @@ERROR 有條件地退出一個過程
在此示例中,IF...ELSE 語句在存儲過程中的 INSERT 語句後檢測 @@ERROR。@@ERROR 變數的值將決定傳給調用程序的返回值,以指示此過程的成功與失敗。

USE pubs
GO

-- Create the procere.
CREATE PROCEDURE add_author
@au_id varchar(11),@au_lname varchar(40),
@au_fname varchar(20),@phone char(12),
@address varchar(40) = NULL,@city varchar(20) = NULL,
@state char(2) = NULL,@zip char(5) = NULL,
@contract bit = NULL
AS

-- Execute the INSERT statement.
INSERT INTO authors
(au_id, au_lname, au_fname, phone, address,
city, state, zip, contract) values
(@au_id,@au_lname,@au_fname,@phone,@address,
@city,@state,@zip,@contract)

-- Test the error value.
IF @@ERROR <> 0
BEGIN
-- Return 99 to the calling program to indicate failure.
PRINT "An error occurred loading the new author information"
RETURN(99)
END
ELSE
BEGIN
-- Return 0 to the calling program to indicate success.
PRINT "The new author information has been loaded"
RETURN(0)
END
GO

C.用 @@ERROR 檢測幾條語句的成功
下面的示例取決於 INSERT 和 DELETE 語句的成功操作。局部變數在兩條語句後均被設置為 @@ERROR 的值,並且用於此操作的共享錯誤處理常式中。

USE pubs
GO
DECLARE @del_error int, @ins_error int
-- Start a transaction.
BEGIN TRAN

-- Execute the DELETE statement.
DELETE authors
WHERE au_id = '409-56-7088'

-- Set a variable to the error value for
-- the DELETE statement.
SELECT @del_error = @@ERROR

-- Execute the INSERT statement.
INSERT authors
VALUES('409-56-7008', 'Bennet', 'Abraham', '415 658-9932',
'6223 Bateman St.', 'Berkeley', 'CA', '94705', 1)
-- Set a variable to the error value for
-- the INSERT statement.
SELECT @ins_error = @@ERROR

-- Test the error values.
IF @del_error = 0 AND @ins_error = 0
BEGIN
-- Success. Commit the transaction.
PRINT "The author information has been replaced"
COMMIT TRAN
END
ELSE
BEGIN
-- An error occurred. Indicate which operation(s) failed
-- and roll back the transaction.
IF @del_error <> 0
PRINT "An error occurred ring execution of the DELETE
statement."

IF @ins_error <> 0
PRINT "An error occurred ring execution of the INSERT
statement."

ROLLBACK TRAN
END
GO

D. 與 @@ROWCOUNT 一同使用 @@ERROR
下面的示例用 @@ERROR 和 @@ROWCOUNT 驗證一條 UPDATE 語句的操作。為任何可能出現的錯誤而檢驗 @@ERROR 的值,而用 @@ROWCOUNT 保證更新已成功應用於表中的某行。

USE pubs
GO
CREATE PROCEDURE change_publisher
@title_id tid,
@new_pub_id char(4)
AS

-- Declare variables used in error checking.
DECLARE @error_var int, @rowcount_var int

-- Execute the UPDATE statement.
UPDATE titles SET pub_id = @new_pub_id
WHERE title_id = @title_id

-- Save the @@ERROR and @@ROWCOUNT values in local
-- variables before they are cleared.
SELECT @error_var = @@ERROR, @rowcount_var = @@ROWCOUNT

-- Check for errors. If an invalid @new_pub_id was specified
-- the UPDATE statement returns a foreign-key violation error #547.
IF @error_var <> 0
BEGIN
IF @error_var = 547
BEGIN
PRINT "ERROR: Invalid ID specified for new publisher"
RETURN(1)
END
ELSE
BEGIN
PRINT "ERROR: Unhandled error occurred"
RETURN(2)
END
END

-- Check the rowcount. @rowcount_var is set to 0
-- if an invalid @title_id was specified.
IF @rowcount_var = 0
BEGIN
PRINT "Warning: The title_id specified is not valid"
RETURN(1)
END
ELSE
BEGIN
PRINT "The book has been updated with the new publisher"
RETURN(0)
END
GO

㈧ 存儲過程怎麼判斷執行成功

這個分兩種情況:
由於存儲過程是資料庫自身的東西,JAVA只是調用

所以,如果是語法上的錯誤 sql直接不能執行 , JAVA確實能接收到異常

但是如果語法沒有錯誤, 只是你寫的條件錯了, sql能執行,只是沒有得到你想要的效果, 這個情況, 是判斷不了的, 都會視為成功執行

如果 sql = "select from aaa where id > 10" 這直接是語法 錯誤,肯定報錯

但 如果 sql = "update aaa set name = 'aaa' where id='123' "; 沒有語法 錯誤 ,能執行, 只是沒有id = 123的數據, 你要改124的,錯寫成123了, 就修改不了, 但也不會報任何錯 北京科蘭

熱點內容
加密視頻怎麼解密 發布:2024-05-17 11:02:52 瀏覽:570
柳工挖機密碼多少合適 發布:2024-05-17 11:00:40 瀏覽:187
android工程嘆號 發布:2024-05-17 10:56:21 瀏覽:480
在蘋果手機應用怎麼比安卓貴 發布:2024-05-17 10:56:20 瀏覽:547
賽歐313配置怎麼樣 發布:2024-05-17 10:43:16 瀏覽:988
c語言預算 發布:2024-05-17 10:43:16 瀏覽:492
推薦對稱加密演算法 發布:2024-05-17 10:43:15 瀏覽:822
有存儲功能計算器 發布:2024-05-17 10:42:34 瀏覽:118
小米賬號密碼保險箱在哪裡 發布:2024-05-17 10:17:00 瀏覽:752
抖音引流腳本推薦 發布:2024-05-17 10:11:16 瀏覽:724