如果存在我将删除它,如果不存在我将创建它,这种存储过程怎么写呢????

解决方案 »

  1.   

    再Master数据库中有表是存储这个数据库的存储过程的,如果你要查看是否存在这个存储过程,你用程序<一条Select语句select 他拉>
    如果存在,drop procedure 名
    不存在 create procedure 名
      

  2.   

    IF OBJECT_ID('存储过程名') IS NOT NULL DROP PROCEDURE 存储过程名
    GO
    CREATE PROCEDURE 存储过程名
      

  3.   

    if exists (select * from sysobjects where id = object_id('dbo.OW_Proc_Sql') and sysstat & 0xf = 4)
    drop procedure dbo.OW_Proc_Sql
    GOcreate procedure OW_Proc_Sql
      

  4.   

    下面是MSSQL的语法,就是到一个MSSQL的系统对象表里查询有没有“RaiseErrorTest”存储过程,有Drop然后创建。if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[RaiseErrorTest]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
    drop procedure [dbo].[RaiseErrorTest]
    GOSET QUOTED_IDENTIFIER ON 
    GO
    SET ANSI_NULLS ON 
    GOcreate procedure RaiseErrorTest
    as
    begin
        RAISERROR('error baby!',16,1)
    end
    GO
    SET QUOTED_IDENTIFIER OFF 
    GO
    SET ANSI_NULLS ON 
    GO
      

  5.   

    是啊,这些语句可以MS SQL生成脚本.