当前位置:首页 » 存储配置 » 存储过程新增数据

存储过程新增数据

发布时间: 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-24 20:49:43 浏览:354
win7访问win10无权限 发布:2024-12-24 20:39:59 浏览:63
微信投诉无法上传照片 发布:2024-12-24 20:39:55 浏览:89
ug编程过切 发布:2024-12-24 20:34:43 浏览:650
非凡任务电影ftp 发布:2024-12-24 20:30:21 浏览:243
ipad设置文件夹密码 发布:2024-12-24 20:07:52 浏览:533
幻塔h201避难所密码锁是多少 发布:2024-12-24 20:01:53 浏览:853
电脑配置怎么看硬盘 发布:2024-12-24 20:00:22 浏览:866
青海云服务器租用公司 发布:2024-12-24 19:59:42 浏览:819
数据库记录排序 发布:2024-12-24 19:50:06 浏览:600