SQL中创建表

来源:百度知道 编辑:UC知道 时间:2024/06/01 09:43:02
是否可以在SQL中创建一个不带任何参数的表?复制表结构前是不是要创建要复制到的表??
(例如: 创建一个存储过程proc_PartDelete,提供PNO作为参数,删除指定的零件记录。要求从Part表中删除记录前,首先将该记录移动到一张事先创建的PartHistory表中(PartHistory结构与Part表相同)。

Select * from Part into PartHistory
where 0=1 (复制表结构)

Create proc proc_PartDelete
@PNO
As
Selecte * into PartHistory from part where PNO=@PNO
Delete from part where PNO=@PNO

执行该存储过程
Exec proc_PartDelete @PNO=315
Selecte * from PartHistory
Selecte * from part
我想请问该种方法是否能行得通??

写个触发器就行了
首先要判断 PartHistory 是否存在

create trigger trg_Part on Part
for delete
as
if object_id('PartHistory', 'U') is null
select * into PartHistory from Part where 1=0;
go
declare @pno int;
select @pno = pno from deleted;
selecte * into PartHistory from part where pno=@pno;
--delete from part where pno=@pno;
go

先判断一下PartHiStory 是否存在其中。然后在编写程序

改为

Create proc proc_PartDelete
@PNO
As
into PartHistory
Select * from part where PNO=@PNO
Delete from part where PNO=@PNO