存儲過程新增數據
① 通過存儲過程插入一條數據
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就是過程傳入的時間參數