當前位置:首頁 » 存儲配置 » 存儲過程新增數據

存儲過程新增數據

發布時間: 2022-08-20 15:33:22

① 通過存儲過程插入一條數據

TEST_NAME IN VARCHAR2(20) 改為 TEST_NAME IN VARCHAR2 即可

② oracle存儲過程怎樣批量插入新數據

需要生成的sql
insert into TMP_UPSTATE_CASEKEY values('TMP0000001', 1, sysdate);

存儲過程實現
create or replace procere proc_casekey_upstate
as
casekey char(14);
begin
for i in 1..10000000 loop
casekey := 'TMP'||lpad(i,7,0); -- TMP0000001
insert into TMP_UPSTATE_CASEKEY values(casekey, 1, sysdate);
end loop;
commit;
end;

begin
proc_casekey_upstate();
end;

測試發現生成一千萬條數據用了14分鍾左右,性能還是可以了,如果先去掉TMP_NUM_STATUS_ID的外鍵估計更快。
或者:
insert into TMP_UPSTATE_CASEKEY select 'TMP'||LPAD(rownum,7,0),1,sysdate from al connect by level <= 1000000;

③ SQL中如何利用存儲過程插入多條數據並更新

雖然有點模糊,不過我覺得你用嵌套查詢+分組是可以達到目的的。比如安裝商品名來分組:

selectt1.商品名,t1.銷售總數,t2.剩餘庫存from
(select商品名,銷售總數froma,b,cwhere...條件隨便寫..)ast1,
(select商品名,剩餘庫存froma,b,cwhere...條件隨便寫..)ast2
wheret1.商品名=t2.商品名
groupby商品名

④ SQL 存儲過程 同時添加多條數據

放到一個事務裡面:一個事務,同時成功就算成功,一個失敗,就全部失敗.


是不是可以體現你的「同時添加」?

⑤ 如何在存儲過程中實現插入更新數據

--先在資料庫中創建test表,表中有列名為name,類型為varchar(50)
然後先執行
create
procere
proc_insert
@name
varchar(50)
as
begin
insert
into
test
values(@name)--插入數據
end
go
create
procere
proc_update
@newname
varchar(50),@oldname
varchar(50)
as
begin
update
test
set
name=@newname
where
name=@oldname--更新數據
end
go
--其中proc_insert為存儲過程名,可自定義
procere可使用簡寫proc
上面執行完成後調用存儲過程
exec
proc_insert
'曉華'--將"曉華"添加到test表中
exec
proc_update
'小明','曉華'
--將表中'曉華'
改為'小明',必須與存儲過程變數順序相同
exec
proc_update
@oldname='小明',@newname='曉華'--與存儲過程變數順序可以不同
drop
procere
proc_insert
刪除存儲過程proc_insert

⑥ 編寫一個存儲過程實現對表數據的刪除 修改和添加!(sql server資料庫)

1、使用賬戶和密碼,連接到自己的資料庫。

⑦ 存儲過程實現數據插入

設將表A插入表B

update B
set 欄位1=A.欄位1,
...
欄位n=A.欄位n
from A
where 主鍵=A.主鍵

insert into B
select A.* from A,B
where A.主鍵<>B.主鍵

⑧ pl/sql寫存儲過程,怎麼插入新數據

在存儲過程中插入數據肯定用到sql語句,寫好insert語句就好了。

createorreplaceprocerep_insert_mt_jx(P_a1invarchar2,P_a2invarchar2,P_a3invarchar2,P_a4invarchar2)
as
sql_strvarchar2(100);
begin
sql_str:='insertintomt_jx(a1,a2,a3,a4)values('||P_a1||','||P_a2||','||P_a3||','||P_a4||',)';
executeimmediatesql_str;
/*
或者你可以不用executeimmediate,可以直接寫下面的sql
insertintomt_jx(a1,a2,a3,a4)values(P_a1,P_a2,P_a3,P_a4);
*/
commit;
end;

⑨ oracle 存儲過程插入或更新數據

create or replace trigger ggxx_s_update
BEFORE update on up_org_station
for each row
declare
-- local variables here
PRAGMA AUTONOMOUS_TRANSACTION;

BEGIN
update up_org_station_tmp
SET 欄位1= :NEW.欄位1,
--********
-- 剩下的欄位你自己寫 up_org_station_tmp 表結構與up_org_station一致
WHERE up_org_station_tmp.id = :OLD.id
COMMIT;
GGXX; --存儲過程中 up_org_station 改為 up_org_station_tmp
COMMIT;
end ggxx_s_update;

⑩ Oracle中的存儲過程如何添加更新數據

添加更新數據跟一般的sql一樣的寫法啊,唯一差別是變數、傳參的寫法,比如
select
count(1)
into
v_count
from
table
a
where
a.clct_day
=
p_clct_day;
這里v_count就是定義的一個變數,p_clct_day就是過程傳入的時間參數

熱點內容
安卓上哪裡下大型游戲 發布:2024-12-23 15:10:58 瀏覽:189
明日之後目前適用於什麼配置 發布:2024-12-23 14:56:09 瀏覽:56
php全形半形 發布:2024-12-23 14:55:17 瀏覽:829
手機上傳助手 發布:2024-12-23 14:55:14 瀏覽:733
什麼樣的主機配置吃雞開全效 發布:2024-12-23 14:55:13 瀏覽:831
安卓我的世界114版本有什麼 發布:2024-12-23 14:42:17 瀏覽:711
vbox源碼 發布:2024-12-23 14:41:32 瀏覽:279
詩經是怎麼存儲 發布:2024-12-23 14:41:29 瀏覽:661
屏蔽視頻廣告腳本 發布:2024-12-23 14:41:24 瀏覽:420
php解析pdf 發布:2024-12-23 14:40:01 瀏覽:822