存储过程新增数据
① 通过存储过程插入一条数据
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就是过程传入的时间参数