當前位置:首頁 » 存儲配置 » sql循環執行存儲過程

sql循環執行存儲過程

發布時間: 2022-06-06 21:34:06

sql存儲過程的執行

執行帶參數的存儲過程的方法如下:
Exec sp_configure 'allow updates',1 --允許更新系統表。
exec dbo.User_ChangeObjectOwnerBatch 'OldOwner','dbo'
以上是兩個例子。
SQL Server中執行帶參數的存儲過程的方法是:
EXEC 存儲過程名字 '參數1','參數2',數值參數
EXEC 是一個關鍵字。
字元串參數使用單引號括起來,數值參數不需要使用單引號

② sql 循環調用存儲過程

你的語句里,@randCardID都是默認值,所以是重復的。
create table #temp(str char(19))
declare @randCardID char(19)
exec proc_randCardID @randCardID output
declare @num int
set @num = 0
while(@num <10)
begin
insert #temp select @randCardID
exec proc_randCardID @randCardID output
---這一句要改
set @num = @num +1
end
select * from #temp
drop table #temp

③ mssql 存儲過程中循環如何寫,在循環中用什麼語句跳出循環呢,在線等

給你個例子:

for loop是這樣的:
createprocere pro
begin
declare aintdefault1;
label1: loop
if a<6then
selecta;
seta=a+1;
iterate label1;
endif;
leave label1;跳出循環
endloop label1;
end

while是這樣的:
createprocere pro
begin
declare aintdefault4;
while a<10 do
selecta;
seta=a+1;
endwhile;
end

④ sql如何用一條語句反復執行不同參數的存儲過程

sql server 代理\新建作業

⑤ sql 執行存儲過程 貌似死循環

create procere dbo.Show_All
as
select *from dbo.worker
go
execute Show_All

--先創建,再執行
--你連在一起,自己調用自己,肯定是個死循環

⑥ oracle存儲過程循環執行SQL語句

實現方式錯了,批量移動數據應該使用Cursor,而不是像分頁那樣每次都查詢。
每次都查詢可能會導致重復數據。
正確方式應該是打開一個Cursor,循環Cursor來插入,使用計數器來控制每次COMMIT的行數:
declare
TYPE R_CURSOR IS REF CURSOR;
i number;
a1_cursor R_CURSOR;
a1_row A1%ROWTYPE;
begin
open a1_cursor FOR
select ID, NAME from A1;
i := 0;
loop
fetch a1_cursor
into a1_row;
exit when a1_cursor%notfound;
INSERT INTO A2 VALUES a1_row;
i := i + 1;
if i >= 5 then
commit;
i := 0;
end if;
end loop;
close a1_cursor;
commit;
end;

⑦ SQL 中存儲過程怎麼使用

一、簡單的儲存過程:

1、創建一個存儲過程

create procere GetUsers()

begin

select * from user;

end;12345

2、調用存儲過程

call GetUsers();12

3、刪除存儲過程

drop procere if exists GetUsers;

二、帶參數的存儲過程

1、MySql 支持 IN (傳遞給存儲過程) , OUT (從存儲過程傳出) 和 INOUT (對存儲過程傳入和傳出) 類型的參數 , 存儲過程的代碼位於 BEGIN 和 END 語句內 , 它們是一系列 SQL 語句 , 用來檢索值 , 然後保存到相應的變數 (通過指定INTO關鍵字) ;

2、下面的存儲過程接受三個參數 , 分別用於獲取用戶表的最小 , 平均 , 最大分數 , 每個參數必須具有指定的類型 , 這里使用十進制值(decimal(8,2)) , 關鍵字 OUT 指出相應的參數用來從存儲過程傳出

create procere GetScores(

out minScore decimal(8,2),

out avgScore decimal(8,2),

out maxScore decimal(8,2)

)

begin

select min(score) into minScore from user;

select avg(score) into avgScore from user;

select max(score) into maxScore from user;

end;1234567891011

3、調用此存儲過程 , 必須指定3個變數名(所有 MySql 變數都必須以@開始) , 如下所示 :

call GetScores(@minScore, @avgScore, @maxScore);12

4、該調用並沒有任何輸出 , 只是把調用的結果賦給了調用時傳入的變數@minScore, @avgScore, @maxScore, 然後即可調用顯示該變數的值 :

select @minScore, @avgScore, @maxScore;

5、使用 IN 參數 , 輸入一個用戶 id , 返回該用戶的名字 :

create procere GetNameByID(

in userID int,

out userName varchar(200)

)

begin

select name from user

where id = userID

into userName;

end;12345678910

6、調用存儲過程 :

call GetNameByID(1, @userName);

select @userName;123

⑧ 請問在 sql server 2000中怎樣執行 存儲過程

查詢分析器中:EXEC
存儲過程
名稱(無參數)
查詢:
use
myDataBase(要說明在那個資料庫中運行。默認是master)
select
*
from
同學錄

帶參數存儲過程的:
declare
參數
execute
存儲過程名稱,參數

熱點內容
兩個次梁相交怎麼配置 發布:2024-11-15 20:27:35 瀏覽:373
android關機實現 發布:2024-11-15 20:26:42 瀏覽:56
木糠壓縮原理 發布:2024-11-15 20:22:53 瀏覽:654
編譯原理難以理解的問題 發布:2024-11-15 20:11:25 瀏覽:130
安卓9是什麼水平 發布:2024-11-15 20:06:57 瀏覽:185
intel快速存儲ssd 發布:2024-11-15 20:00:27 瀏覽:143
吃雞配置太低怎麼調高畫質 發布:2024-11-15 19:58:19 瀏覽:735
王者怎麼設置來電屏蔽安卓 發布:2024-11-15 19:56:08 瀏覽:450
伺服器如何搭建多個ip 發布:2024-11-15 19:42:10 瀏覽:103
價錢低高配置的有哪些車 發布:2024-11-15 19:34:53 瀏覽:381