Create Table "Message"(
"MessageId" int identity(1,1) not null,
"Messager" varchar(50) not null,
"MessageTitle" varchar(50) not null,
"MessageContent" varchar(200) not null,
"ContentTime" datetime default getdate(),
constraint PK_Message primary key ("MessageId"),
);
我想建一个检查是否已经有数据的 写一个更新数据的 写一个插入的同时增加修改时间的存储过程 ,求各位高手帮帮忙?
万分感谢!
"MessageId" int identity(1,1) not null,
"Messager" varchar(50) not null,
"MessageTitle" varchar(50) not null,
"MessageContent" varchar(200) not null,
"ContentTime" datetime default getdate(),
constraint PK_Message primary key ("MessageId"),
);
我想建一个检查是否已经有数据的 写一个更新数据的 写一个插入的同时增加修改时间的存储过程 ,求各位高手帮帮忙?
万分感谢!
if (select count(*) from Message)>0 print 'Message数据表非空!'“插入的同时增加修改时间”
插入数据之后直接插入 getdate() 时间就可以了啊!
"MessageId" int identity(1,1) not null,
"Messager" varchar(50) not null,
"MessageTitle" varchar(50) not null,
"MessageContent" varchar(200) not null,
"ContentTime" datetime default getdate(),
constraint PK_Message primary key ("MessageId"),
);create proc "UpdateMessage"
@MessageId int,
@Messager varchar(50),
@MessageTitle varchar(20),
@MessageContent varchar(200),
@ContentTime datetime
as
beginif exists(select * from "Message" where "MessageId"=@MessageId)
update "Message"
set"Messager"=@Messager,
"MessageTitle"=@MessageTitle,
"MessageContent"=@MessageContent,
"ContentTime"=getdate()--用这个取当前时间 @ContentTime
where "MessageId"=@MessageId
else
begin
SET IDENTITY_INSERT "Message" ON
insert "Message" ("MessageId","Messager","MessageTitle","MessageContent","ContentTime")
select @MessageId,@Messager,@MessageTitle,@MessageContent,/*@ContentTime*/getdate()--用这个取当前时间
end
end--测试1
exec "UpdateMessage" 1,'张三','a','a',''
select * from message
/*
MessageId Messager MessageTitle MessageContent ContentTime
----------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------
1 张三 a a 2010-04-30 00:06:53.847(所影响的行数为 1 行)
*/
--测试2
exec "UpdateMessage" 1,'张三111','a111','a111',''
select * from message
/*
MessageId Messager MessageTitle MessageContent ContentTime
----------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------
1 张三111 a111 a111 2010-04-30 00:08:27.853(所影响的行数为 1 行)
*/
我绝对应该用触发器比较好。create trigger my_trig on Message for update , insert
as
begin
update Message set ContentTime = getdate() from Message where MessageId = (select MessageId from inserted)
end