tableA   
    id    name    adress     re
    1      aa      111        11111
    2      bb      222        22222
    3      cc      333        33333 想在一个存储过程中实现修改和新增

解决方案 »

  1.   

    CREATE PROC(
    @id int, -- 自己修改类型
    @name varchar(100),
    @adress varchar(100),
    @re varchar(500)
    )
    AS 
       SET NOCOUNT ON    INSERT INTO tableA(id name adress re) VALUES(@id @name @adress @re)-- UPDATE tableA name=@name, adress=@address, re = @re WHERE SET id = @id   SET NOCOUNT OFF
      

  2.   

    CREATE PROC(>>>>CREATE PROC MyProcName(
      

  3.   

    CREATE PROC p
    @id int=0, 
    @name varchar(100)='',
    @adress varchar(100)='',
    @re varchar(500)=''AS 
       SET NOCOUNT ON
       if not exists(select 1 from tableA where id=@id)
           begin
        INSERT INTO tableA(id, name, adress, re) VALUES(@id, @name, @adress, @re)
           end
       else
           begin
        UPDATE tableA set name=@name, adress=@adress, re = @re WHERE  id = @id
           end   SET NOCOUNT OFF
    go
      

  4.   

    --region Drop Existing ProceduresIF OBJECT_ID(N'[dbo].[pro_InsertUpdateTABLEA]') IS NOT NULL
    DROP PROCEDURE [dbo].[pro_InsertUpdateTABLEA]--endregionGO--region [dbo].[pro_InsertUpdateTABLEA]------------------------------------------------------------------------------------------------------------------------
    -- Generated By:   Administrator using CodeSmith 4.0.0.0
    -- Template:       StoredProcedures.cst
    -- Procedure Name: [dbo].[pro_InsertUpdateTABLEA]
    -- Date Generated: 2007年7月21日
    ------------------------------------------------------------------------------------------------------------------------CREATE PROCEDURE [dbo].[pro_InsertUpdateTABLEA]
    @id int,
    @name nvarchar(50),
    @address nvarchar(50),
    @re nvarchar(50)
    ASSET NOCOUNT ONIF EXISTS(SELECT [id] FROM [dbo].[TABLEA] WHERE [id] = @id)
    BEGIN
    UPDATE [dbo].[TABLEA] SET
    [name] = @name,
    [address] = @address,
    [re] = @re
    WHERE
    [id] = @id
    END
    ELSE
    BEGIN
    INSERT INTO [dbo].[TABLEA] (
    [id],
    [name],
    [address],
    [re]
    ) VALUES (
    @id,
    @name,
    @address,
    @re
    )
    END--endregionGO
      

  5.   

    CREATE PROC YourProc(
    @id int, -- 自己修改类型
    @name varchar(100),
    @adress varchar(100),
    @re varchar(500)
    )
    AS 
    --添加的时候   
    SET 
        INSERT INTO tableA(id name adress re) VALUES(@id @name @adress @re)--修改的时候   
    UPDATE tableA name=@name, adress=@address, re = @re WHERE SET id = @id