天天看点

oracle 函数插入操作,【学习笔记】Oracle存储过程 实现数据表的更新、插入、删除、再插入连接操作...

实现的是从回收站还原的功能

整体思路是,先更新所需的档案件号,然后复制到对应的部门表中,然后删除回收站表的数据,再把刚刚到部门表中的据插入到总表中,使得部门的表和总表数据一致

ALTER PROC [dbo].[add_data_yes]

@tablename varchar(30),

@id INT,

@jh INT

AS

declare @sql nvarchar(4000)

SET @sql=N'update S_del set jh='+CAST(@jh AS VARCHAR(10))+N' where id='+CAST(@id AS VARCHAR(10))+N';INSERT INTO '[email protected]+N'

( tm ,

jh ,

ajh ,

gjz ,

sjms ,

fsdd ,

fsrq ,

zyrw ,

psz ,

psrq ,

tgz ,

zrz ,

sc ,

ly ,

cjh ,

srz ,

flh ,

dph ,

bz ,

xpdx ,

xpgs ,

xpxs ,

scrid ,

scr ,

scsj ,

scbm ,

shr ,

shsj ,

ecbz ,

gdr ,

gdsj ,

xgsj ,

flag ,

ysurl ,

ysfile ,

xgurl ,

xgfile ,

xwurl ,

xwnr ,

textall

)

SELECT

tm ,

jh ,

ajh ,

gjz ,

sjms ,

fsdd ,

fsrq ,

zyrw ,

psz ,

psrq ,

tgz ,

zrz ,

sc ,

ly ,

cjh ,

srz ,

flh ,

dph ,

bz ,

xpdx ,

xpgs ,

xpxs ,

scrid ,

scr ,

scsj ,

scbm ,

shr ,

shsj ,

ecbz ,

gdr ,

gdsj ,

xgsj ,

flag ,

ysurl ,

ysfile ,

xgurl ,

xgfile ,

xwurl ,

xwnr ,

textall

FROM S_del WHERE id='+CAST(@id AS varchar(10))+N';delete from S_del where id='+CAST(@id AS varchar(10))+N';insert into S_bm_all select * from '[email protected]+N' where id=(select max(id) from '[email protected]+N')'

EXEC(@sql)

好了,以前是因为自己对存储过程没有入门,写了几个放在上面了,现在感觉对存储过程有了一点状态,不再放存储过程山来了(我感觉特别有意义的除外)