執行存儲過程參數
執行帶參數的存儲過程的方法如下:
Exec sp_configure 'allow updates',1 --允許更新系統表。
exec dbo.User_ChangeObjectOwnerBatch 'OldOwner','dbo'
以上是兩個例子。
SQL Server中執行帶參數的存儲過程的方法是:
EXEC 存儲過程名字 '參數1','參數2',數值參數
EXEC 是一個關鍵字。
字元串參數使用單引號括起來,數值參數不需要使用單引號
B. SQL Server 如何執行 帶參數的 存儲過程
帶參數的存儲過程執行方法如下:
(1)調用通用數據訪問類:SqlHelper,執行SqlHelper.ExecuteNonQuery()方法
(2)使敬譽春用示例:SqlHelper.ExecuteNonQuery(conn,CommandType.StoredProcere,sqlexec,myparm)
(3)其中傳遞的4個參數如下:
「conn」:為鏈接字元
「CommandType.StoredProcere」:表示要執亮耐行的SQL存儲過程類型
「sqlexec」:要執行的SQL存儲過程
「myparm」:為傳遞的參虛沖數,它需要參數的初始化、賦予參數名稱、設定類型、長度和值等
(4)當ExecuteNonQuery()執行select 查詢時,結果總是返回-1。ExecuteNonQuery()執行Update、Insert和Delete語句時,返回值為該命令所影響的行數。
C. oracle中怎麼執行帶有輸出參數的存儲過程,在程序中我知道怎麼調用,
1、新建一個存儲過程(Procere)。
D. sql資料庫中怎樣調用帶參數的存儲過程
1、使用SQL語句
--a)方式一
--exec存儲過程名稱參數名='值'
execP_Titles_ByType@type='business'
go
--b)方式二
--exec存儲過程名稱參數值
execP_Titles_ByType'business'
2、可視化操作
a.在資料庫中找到要執行的存儲過程
b.右擊存儲過程,在出現的菜單中選擇執行存儲過程選項
c.在新出現的對話框中,在對應的參數後面的值列填入對應的參數值
d.填寫完參數值,最後點擊確定,然後查詢結果會出現
圖-b
E. 在java中怎樣執行sqlserver的存儲過程,帶輸入參數和輸出參數,舉個例子
用java調用:
class.forName(\"sun.jdbc.odbc.JdbcOdbcDriver\"); //載入驅動
Connection con=DriverManager.getConnection(\"Jdbc:Odbc:test\",\"sa\",\"\"); //獲得連接
String call=\"{call proc_select(?,?)};\" //調用語句
CallableStatement proc=con.preparecall(call); //調用存儲過程
proc.setString(1,\"12345678\"); //給輸入參數傳值
proc.registerOutParameter(2,Type.varchar); //聲明輸出參數是什麼類型的
proc.execute(); //執行
String address=proc.getString(2); //獲得輸出參數
F. oracle 中用什麼命令執行一個帶參數的存儲過程
具體如下:
1、第一步,創建一個新的存儲過程,見下圖,轉到下面的步驟。
G. oracle 中用什麼命令執行一個帶參數的存儲過程
具體如下:
1、第一步,創建一個新的存儲過程,見下圖,轉到下面的步驟。
H. oracle帶參(傳入,傳出)的存儲過程怎麼執行
1、新建存儲過程,Create or ReplaceProcere CHK_SYS_EMP 檢查系統工號。
I. 存儲過程中如何執行帶輸出參數的動態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