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

如何在存储过程中实现插入更新数据,第1张

--先在数据库中创建test表,表中有列名为name,类型为varchar(50)

然后先执行

create

procedure

proc_insert

@name

varchar(50)

as

begin

insert

into

test

values(@name)--插入数据

end

go

create

procedure

proc_update

@newname

varchar(50),@oldname

varchar(50)

as

begin

update

test

set

name=@newname

where

name=@oldname--更新数据

end

go

--其中proc_insert为存储过程名,可自定义

procedure可使用简写proc

上面执行完成后调用存储过程

exec

proc_insert

'晓华'--将"晓华"添加到test表中

exec

proc_update

'小明','晓华'

--将表中'晓华'

改为'小明',必须与存储过程变量顺序相同

exec

proc_update

@oldname='小明',@newname='晓华'--与存储过程变量顺序可以不同

drop

procedure

proc_insert

删除存储过程proc_insert

添加更新数据跟一般的sql一样的写法啊,唯一差别是变量、传参的写法,比如

select

count(1)

into

v_count

from

table

a

where

a.clct_day

=

p_clct_day

这里v_count就是定义的一个变量,p_clct_day就是过程传入的时间参数

这不可能,更新编译package时,需要在这整个包上申请锁,如果是正在运行的package,你可能申请不到这个锁。如果这是一个被频繁调用的package,可能你就完不成这个任务。为了保证一致性,oracle不允许你这么做


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11491735.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存