我想保存一条记录,如果记录原先存在就更新,不存在则插入。我想一次请求就处理完,语句该怎么写最简单?

解决方案 »

  1.   

    --try
    drop tb where 主键=@主键
    insert tb(主键,...) values(@主键,....)
      

  2.   


    [code=SQL]create table T(
        ID int identity(1,1) primary key,
        name nvarchar(30)
    )declare @ID int
    declare @name nvarchar(30)if exists(select * from T where ID=@ID)
    begin
        update T set name=@name
        where ID=@ID
    end
    else
    begin
        insert T(name) 
        values(@name)
    end[/code]
      

  3.   

    if exists(select语句)//如果记录存在
    begin
    update ……  //更新
    end
    else
    begin
    insert ……  //插入
    endGo
      

  4.   

    IF语句好像是T-SQL才有,如果要可移植,有没有什么好办法呢?