當前位置:首頁 » 存儲配置 » 創建帶參數存儲過程

創建帶參數存儲過程

發布時間: 2022-12-07 08:29:23

㈠ oracle 中用什麼命令執行一個帶參數的存儲過程

具體如下:

1、第一步,創建一個新的存儲過程,見下圖,轉到下面的步驟。

㈡ 帶參數的存儲過程如何去寫誰給舉個例子

寫帶有參數存儲過程應該是sql資料庫的問題:
先建立一個表,並添加一些數據來進行演示:
create
table
t_student(
id
int
not
null,
name
nvarchar
(10)
null,
age
tinyint
null,
school
nvarchar(20)
null,
class
nvarchar(10)
null,
score
float
null,
constraint
[pk_student_id]
primary
key
clustered(id)
)
go
insert
into
t_student
values(1,'張小紅',8,'育才小學','一班',92)
insert
into
t_student
values(2,'王麗麗',8,'育才小學','一班',90)
insert
into
t_student
values(3,'張燕',7,'雲華小學','二班',86)
insert
into
t_student
values(4,'劉華',6,'雲華小學','二班',85)
一、exec
exec命令可以執行一個存儲過程也可以執行一個動態sql語句。先來看看怎麼執行存儲過程:
新建一個存儲過程
sp_getstudent
,返回
成績大於90
分的學生:
create
procere
[dbo].[sp_getstudent]
@score
float,
@nums
int
output
as
begin
set
nocount
on;
select
*
from
t_student
where
score
>=@score
select
@nums=count(1)
from
t_student
where
score
>=@score
if(@nums>0)
return
1
else
return
0
end
go
該存儲過程涉及了
查詢操作、返回值和輸出參數,我們來看用exec
命令如何調用:
declare
@return_value
int,
@outnums
int
exec
@return_value
=
[dbo].[sp_getstudent]
@score
=
90,
@nums
=
@outnums
output
select
@outnums
as
n'大於90分的人數'
select
'返回值'
=
@return_value
go
執行結果:
我們發現exec
執行存儲過程和我們平時程序執行一個方法是幾乎一樣的,返回值參數
直接就可以等於存儲過程的執行後的返回值,輸出參數
在後面需要增加
output
關鍵字。

㈢ 在MySQL中如何創建一個帶輸出參數為一個表類型的存儲過程

在MySQL中如何創建一個帶輸出參數為一個表類型的存儲過程
首先需要知道「另一個存儲過程」的結果集的所有列的類型。
假設「另一個存儲過程」的名字是sp1,沒有參數,返回的結果集共3列,全部為int型,那麼「存儲過程」里添加一個與結果集列數相同的臨時表或表變數用於接收「另一個存儲過程」的結果集
如下
CREATE PROCEDURE sp2
AS
DECLARE @t table(a int,b int,c int)

INSERT INTO @t(a,b,c)
EXEC sp1

SELECT * FROM @t
使用SQLSERVER存儲過程可以很大的提高程序運行速度,簡化編程維護難度,現已得到廣泛應用。
創建存儲過程
和數據表一樣,在使用之前需要創建存儲過程,它的簡明語法是:

引用:
Create PROC 存儲過程名稱
[參數列表(多個以「,」分隔)]
AS
SQL 語句

例:

引用:
Create PROC upGetUserName
@intUserId INT,
@ostrUserName NVARCHAR(20) OUTPUT -- 要輸出的參數
AS
BEGIN
-- 將uName的值賦給 @ostrUserName 變數,即要輸出的參數
Select @ostrUserName=uName FROM uUser Where uId=@intUserId
END

其中 Create PROC 語句(完整語句為Create PROCEDURE)的意思就是告訴SQL SERVER,現在需要建立一個存儲過程,upGetUserName 就是存儲過程名稱,@intUserId 和 @ostrUserName 分別是該存儲過程的兩個參數,注意,在SQL SERVER中,所有用戶定義的變數都以「@」開頭,OUTPUT關鍵字表示這個參數是用來輸出的,AS之後就是存儲過程內容了。只要將以上代碼在「查詢分析器」里執行一次,SQL SERVER就會在當前資料庫中創建一個名為「upGetUserName」的存儲過程。你可以打開「企業管理器」,選擇當前操作的資料庫,然後在左邊的樹型列表中選擇「存儲過程」,此時就可以在右邊的列表中看到你剛剛創建的存儲過程了(如果沒有,刷新一下即可)。
二、存儲過程的調用

之前已經創建了一個名為「upGetUserName」的存儲過程,從字面理解該存儲過程的功能是用來取得某一個用戶的名稱。存儲過程建立好了,接下來就是要在應用程序里調用了,下面看一下在ASP程序里的調用。

㈣ 創建一個帶輸入參數和輸出參數的存儲過程

create proc Tproc
@id nchar(10),
@name nchar(20),
@sex nchar(10)
as
begin
declare @hasData nchar(10)
select @hasData=id from S where id=@id
if @hasData!=''
begin
print '學號重復'
return
end
if @name=''
begin
print '名字不能為空'
return
end
if(@sex!='男' and @sex!='女')
begin
print '性別只能是男或女'
return
end
else
begin
insert into S values(@id,@name,case @sex when '男' then 1 when '女' then 0 end)
if(@@ROWCOUNT>0)
print '記錄成功插入!'
else
print '記錄未成功插入!'
end
end

不知道是否符合你的要求,歡迎討論!

㈤ 資料庫的帶有參數的存儲過程的創建 急 考試!!!

CREATE PROCEDURE P1
@XH VARCHAR(10),@XM VARCHAR(10) OUTPUT,@XB CHAR(2) OUTPUT,@ZY VARCHAR(10) OUTPUT,@X VARCHAR(20) OUTPUT AS
SELECT @XM=姓名,@XB=性別,@ZY=專業,@X=所在系
FROM 學生表 WHERE 學號=@XH
go

--調用
DECLARE @XM VARCHAR(10),@XB CHAR(2),@ZY VARCHAR(10),@X VARCHAR(20)
EXECUTE P1 'S001',@XM OUTPUT,@XB OUTPUT,@ZY OUTPUT,@X OUTPUT
PRINT '姓名:'+@XM+'性別:'+@XB+'專業:'+@ZY+'所在系:'+@x

㈥ sql怎樣新建存儲過程

一:創建沒有參數的存儲過程:

CREATE PROCEDURE select_all

AS

BEGIN

SELECT * from T_login1

GO

二:創建帶參數的存儲過程:

CREATE PROCEDURE select_name

@id uniqueidentifier

AS

BEGIN

SELECT * from T_login1 where PSN0001A=@id

GO

(6)創建帶參數存儲過程擴展閱讀

創建存儲過程的注意事項:

1、保持事務簡短,事務越短,越不可能造成阻塞。

2、在事務中盡量避免使用循環while和游標,以及避免採用訪問大量行的語句。

3、在啟動事務前完成所有的計算和查詢等操作,避免同一事務中交錯讀取和更新。可以使用表變數預先存儲數據。即存儲過程中查詢與更新使用兩個事務實現。

4、超時會讓事務不執行回滾,超時後如果客戶端關閉連接sqlserver自動回滾事務。如果不關閉,將造成數據丟失,而其他事務將在這個未關閉的連接上執行,造成資源鎖定,甚至伺服器停止響應。

熱點內容
色選機腳本 發布:2024-04-23 23:52:35 瀏覽:257
吉利博越推薦買哪個配置 發布:2024-04-23 23:52:34 瀏覽:635
java字典排序 發布:2024-04-23 23:52:34 瀏覽:162
sky光遇測試服怎麼下安卓 發布:2024-04-23 23:46:40 瀏覽:798
access如何使用sql 發布:2024-04-23 23:29:39 瀏覽:910
ug10編程優缺點 發布:2024-04-23 23:08:47 瀏覽:335
房產配置怎麼設置 發布:2024-04-23 22:59:26 瀏覽:850
python怎麼調用函數 發布:2024-04-23 22:58:09 瀏覽:755
懷舊服怎麼把g轉到別的伺服器 發布:2024-04-23 22:57:53 瀏覽:221
知道文件夾 發布:2024-04-23 22:45:55 瀏覽:177