實現的方法和詳細的操作步驟如下:
1、第一步,雙擊plsql圖標進入登錄界面,輸入用戶名和密碼,然後傳輸資料庫實例名稱,如下圖所示,然後進入下一步。
2. sql執行存儲過程 如何輸出結果
sql
server存儲過程
輸出結果集
還是比較簡單的.
直接在
存儲過程裡面執行
sql
語句就可以了。
例如:
--
測試返回結果集的存儲過程
create
procere
testproc
as
begin
select
'hello
1'
as
a,
'world
1'
as
b
union
all
select
'hello
2'
as
a,
'world
2'
as
b;
end
go
剩下的,
就是你用
別的開發語言,
例如
c#
什麼的
,
調用這個存儲過程,
獲取結果集了。
3. oracle 資料庫 怎麼執行存儲過程
一。 概述Oracle存儲過程開發的要點是:
1; 使用Notepad文本編輯器,用Oracle PL/SQL編程語言寫一個存儲過程;
2; 在Oracle資料庫中創建一個存儲過程;
3; 在Oracle資料庫中使用SQL*Plus工具運行存儲過程;
4; 在Oracle資料庫中修改存儲過程;
5; 通過編譯錯誤調試存儲過程;
6; 刪除存儲過程;二。環境配置
包括以下內容:
1; 一個文本編輯器Notepad;
2; Oracle SQL*Plus工具,提交Oracle SQL和PL/SQL 語句到Oracle database。
3; Oracle 10g express資料庫,它是免費使用的版本;
需要的技巧:
4; SQL基礎知識,包括插入、修改、刪除等
5; 使用Oracle's SQL*Plus工具的基本技巧;
6; 使用Oracle's PL/SQL 編程語言的基本技巧;三。寫一個存儲過程
在Notepad, 寫下:
CREATE OR REPLACE PROCEDURE skeletonISBEGINNULL;END;把文件存為skeleton.sql.
讓我們一行行遍歷這個存儲過程:
1 CREATE OR REPLACE PROCEDURE skeleton2 IS3 BEGIN
4 NULL;5 END;行1:CREATE OR REPLACE PROCEDURE 是一個SQL語句通知Oracle資料庫去創建一個叫做skeleton存儲過程, 如果存在就覆蓋它;行2:IS關鍵詞表明後面將跟隨一個PL/SQL體。
行3:BEGIN關鍵詞表明PL/SQL 體的開始。
四。創建一個存儲過程
SQL語句CREATE OR REPLACE PROCEDURE在Oracle資料庫中創建、編譯和保存一個存儲過程。
從Window打開SQL*Plus並且從SQL*Plus 登錄到你的資料庫;打開skeleton.sql文件。
在SQL命令提示符下輸入以下命令:
SQL@skeletonSQL/SQL*Plus裝載skeleton.sql文件的內容到 SQL*Plus緩沖區並且執行SQL*Plus語句;SQL*Plus 會通知你存儲過程已經被成功地創建。
4. 存儲過程中如何執行帶輸出參數的動態SQL
SQL Server存儲過程中執行帶輸出參數的動態sql是很多人經常碰到的問題,比如根據一些條件查詢列表,並返回記錄數等。下面是一個參考示例,查詢用戶列表,它可以利用臨時表實現翻頁,並帶有死鎖和超時檢測功能。 CREATE PRocere pUserList ( @UserType char(2), @pagenum int, @perpagesize int, @pagetotal int out, @rowcount int out ) as set nocount on DECLARE @Err INT,@ErrCounter INT declare @sql nvarchar(2000) --聲明動態sql執行語句 declare @pagecount int --當前頁數 declare @sWhere nvarchar(200) declare @sOrder nvarchar(100) set @sWhere = ' where 1=1 ' if not(@UserType is null) set @sWhere = @sWhere + ' and UserType = ' + @UserType set @sOrder = ' order by UserID ' --取得當前資料庫的記錄總數 declare @row_num int LockTimeOutRetry: --創建臨時表,作為數據過濾 create table #change (T_id int) set @sql = 'select @row_num=count(*) from dbo.[User]' + @sWhere exec sp_executesql @sql,N'@row_num int output', @row_num output if @row_num % @perpagesize =0 set @pagetotal = @row_num/@perpagesize else set @pagetotal = @row_num/@perpagesize + 1 set @rowcount = @row_num if @row_num > @perpagesize begin set @row_num = @pagenum * @perpagesize if @row_num = @perpagesize begin set @sql = N'select top ' + cast(@perpagesize as varchar) + ' UserID,LoginName,RealName from dbo.[User]' + @sWhere + @sOrder exec sp_executesql @sql SET @Err = @@ERROR IF @Err <> 0 GOTO ErrorHandler return 0 end else begin set @row_num = (@pagenum-1) * @perpagesize set @pagecount = @row_num set @sql=N'insert #change (T_id) select top ' + cast(@pagecount as varchar) + ' UserID from dbo. [User] '+@sWhere+' and UserID not in (select T_id from #change)' + @sOrder exec sp_executesql @sql set @sql = N'select top ' + cast(@perpagesize as varchar) + ' UserID,LoginName,RealName from dbo.[User] '+@sWhere+' and UserID not in (select T_id from #change)' + @sOrder exec sp_executesql @sql SET @Err = @@ERROR IF @Err <> 0 GOTO ErrorHandler return 0 end end else begin set @sql = 'select UserID,LoginName,RealName from dbo.[User]' + @sWhere + @sOrder exec sp_executesql @sql SET @Err = @@ERROR IF @Err <> 0 GOTO ErrorHandler return 0 end ErrorHandler: IF (@Err = 1222 OR @Err = 1205) AND @ErrCounter = 5 BEGIN RAISERROR ('Unable to Lock Data after five attempts.', 16,1) return -100 END IF @Err = 1222 OR @Err = 1205 -- Lock Timeout / Deadlock BEGIN WAITFOR DELAY '00:00:00.25' SET @ErrCounter = @ErrCounter + 1 GOTO LockTimeOutRetry END -- else unknown error RAISERROR (@err, 16,1) WITH LOG return -100 GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO
5. 資料庫中執行存儲過程text的命令是
資料庫中執行存儲過程text的命令不同資料庫執行方法也不同,以sql server為例來說明:
創建名為GetUserAccount的存儲過程
create Procere GetUserAccountRe1
@UserName nchar(20),
@UserID int output
as
if(@UserName>5)
select @UserID=COUNT(*) from UserAccount where UserID>25
else
set @UserID=1000
return @@rowcount
go
執行方法:
exec GetUserAccountRe1 '7',null
返回結果:
@userID為COOUT(*)即 =1,Retun Value=1。
6. 有返回值的存儲過程怎麼在命令行執行
類似plsql的測試代碼
需要declare out參數,in參數可以直接用值替換或者也用declare中定義
declare
a varchar2(10);
begin
你的過程和參數;
end;
7. 如何執行存儲過程
存儲過程(stored
procere)是一組為了完成特定功能的sql語句集,經編譯後存儲在資料庫中。用戶通過指定存儲過程的名字並給出參數(如果該存儲過程帶有參數)來執行它。存儲過程是資料庫中的一個重要對象,任何一個設計良好的資料庫應用程序都應該用到存儲過程。
8. oracle 中用什麼命令執行一個帶參數的存儲過程
如果是命令行,比如SQLplus,可以使用exec procere_name(參數列表); 就可以執行這個存儲過程
如果是SQL 窗口環境,可以直接使用一個匿名塊執行
declare
變數聲名.....
begin
procere_name(參數列表);
.........................
end;