当前位置:首页 » 存储配置 » 存储过程中添加数据

存储过程中添加数据

发布时间: 2022-04-16 23:50:53

❶ 如何利用存储过程向表中添加数据

create procere prc_sale
@编号 int
,@名称 varchar(20)
,@价钱 float
,@卖出数量 float
as
begin
insert into sales (编号,名称,价钱,卖出数量)
values (@编号,@名称,@价钱,@卖出数量);
end;

❷ oracle数据库如何利用存储过程向表中添加数据

实际上存储过程向表中插入数据和sql执行的区别是不大的,只不过是存储过程是用loop等循环插入,之后顺序执行sql语句,不用命令行执行。

_data_4_pressure_3
is

--Result1VARCHAR2(50);
VAR_numnumber;
begin
VAR_num:=1;

while
VAR_num<1000000
LOOP
insertintorp_trans_log_day
(trans_time,
trans_province,
trans_type,
score_range,
rule_name,
trans_num)
selectto_date('2013/10/29','yyyy-mm-dd'),
round(dbms_random.value(1,300))||'省',
round(dbms_random.value(1,800))||'类型',
round(dbms_random.value(1,100))||'风险分值',
round(dbms_random.value(1,300))||'规则名称',
'1'
fromal;
commit;
VAR_num:=VAR_num+1;
endloop;

endinsert_data_4_pressure_3;

❸ 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;

❹ 怎么写存储过程,向数据库中批量插入数据

  1. 用循环语句生成字段值insert

  2. SQL 如下:

createprocereInsertTest

as

begin

declare@iint

declare@svarchar(20)

set@i=1

while@i<=100

begin

select@s=cast(@iASvarchar(20))

insertintotest(A,B,C,D)VALUES('a'+@s,'b'+@s,'ccccc','ddddd')

SET@i=@i+1

end

end

❺ 如何在sql创建一条插入数据的存储过程

1、首先需要打开SQL Server Managment管理工具,新建一个表。

❻ 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;

❼ mysql存储过程怎样批量插入数据

一下代码运行通过:

delimiter$$;
createprocerelucia_proc16(countint)
begin
DECLAREname_procVARCHAR(20)CHARACTERSETutf8;
DECLAREsex_procVARCHAR(4)CHARACTERSETutf8;
DECLAREage_procINT(10);
DECLAREclass_procVARCHAR(20)CHARACTERSETutf8;
DECLAREAddr_procVARCHAR(50)CHARACTERSETutf8;
DECLAREiINT;
seti=1;
setsex_proc='女';
setage_proc=20;
setclass_proc='山治班';
setAddr_proc='北京市朝阳区';
whilei<countdo
setname_proc=CONCAT('露西亚',i);
insertintostudents(Name,Sex,age,class,Addr)values(name_proc,sex_proc,age_proc,class_proc,Addr_proc);
seti=i+1;
endwhile;
end
$$;
delimiter;

代码功能:

传入一个行数,控制插入多少条数据

运行效果:

❽ 有外键的数据库怎么通过存储过程添加数据

以下为 Oracle 表与过程:

部门表:
create table tbl_dept
(
dept_code varchar2(20) not null, --主键
dept_name varchar2(20)
)
;

员工表:
create table tbl_emp
(
emp_code varchar2(20) not null, --主键
emp_name varchar2(20),
dept_code varchar2(20) --外键
)
;

存储过程:
create or replace package body pkg_test is
procere pro_emp_insert(
p_emp_code in varchar2 ,
p_emp_name in varchar2,
p_dept_code in varchar2,
errbuf out varchar2,
retcode out number
)
is
begin
--数据验证,验证:不为空、特殊字符等等
--略

--插入
insert into tbl_emp values (p_emp_code, p_emp_name, p_dept_code);

retcode := 1;
errbuf := '插入员工成功!';
exception
when others then
retcode := -1;
errbuf := '插入员工错误:' || sqlerrm;
end pro_emp_insert;
end pkg_test;

❾ 如何在存储过程中实现插入更新数据

--先在数据库中创建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

❿ Oracle中的存储过程如何添加更新数据

添加更新数据跟一般的sql一样的写法啊,唯一差别是变量、传参的写法,比如
select
count(1)
into
v_count
from
table
a
where
a.clct_day
=
p_clct_day;
这里v_count就是定义的一个变量,p_clct_day就是过程传入的时间参数

热点内容
vmware共享文件夹centos 发布:2024-11-20 02:20:06 浏览:272
王者安卓9区叫什么名字 发布:2024-11-20 02:06:32 浏览:989
编程仓 发布:2024-11-20 02:01:29 浏览:718
英国访问签证流程 发布:2024-11-20 01:55:13 浏览:540
mac开机问号文件夹原因 发布:2024-11-20 01:46:00 浏览:414
算法统宗一百馒头 发布:2024-11-20 01:44:01 浏览:299
育碧用的什么服务器 发布:2024-11-20 01:27:05 浏览:750
java去除字符串空格 发布:2024-11-20 01:27:04 浏览:697
python简易代码 发布:2024-11-20 01:17:41 浏览:904
光遇安卓八月三号是什么季节 发布:2024-11-20 01:10:20 浏览:306