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"),
);
我想建一个检查是否已经有数据的 写一个更新数据的 写一个插入的同时增加修改时间的存储过程 ,求各位高手帮帮忙?
万分感谢!

解决方案 »

  1.   

    “检查是否已经有数据”
    if (select count(*) from Message)>0 print 'Message数据表非空!'“插入的同时增加修改时间”
    插入数据之后直接插入 getdate() 时间就可以了啊!
      

  2.   

    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"),
    );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 行)
    */
      

  3.   


    我绝对应该用触发器比较好。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