if exists (select * from dbo.sysobjects where id=object_id(N'[dbo].[delet e_doc]') and OBJECTPROPERTY(id,N 'IsProcedure')=1) 
drop procedure [dbo].[delete_doc]
在MASTER数据库(SYSOBJECTS表中)中判断DELETE_DOC store procedure是否存在,如果有就删除。
create procedure delete_doc @id numeric(18,0),@ssite varchar (250) as    delete from doctab where ((subid=@id) and (ssite like @ssite)) 
GO
建立新的STORE PROCEDURE DELETE_DOC

解决方案 »

  1.   

    1.判断sysobjects 中有没有过程[dbo].[delete_doc]
    如果有删除
    2。创建过程delete_doc 
    有两个参数ID和ssite
    该过程用来删除表doctab 中符合条件的记录
      

  2.   

    to leimin :抱歉,看不明白。
    麻烦解释一下:
    1。如何知道是master数据库?procedure是什么?object_id(N'[dbo].[delet e_doc]')是什么,drop procedure又是什么?
    为何dbo.sysobjects不加括号,而 drop procedure [dbo].[delete_doc]
    中的[dbo]。[delete-doc]有口号?stroe procedure又是什么?
    @id numeric(18,0)各项什么意思?谁可以给我详细解释一下,不要说让我去看sql基础。我目前需要马上知道。
    很着急。谢谢各位。在线等待,解决给分。
      

  3.   

    用户创建过的存储过程在MASTER数据库中都会有记录,如果已经创建过了,那么删除她,然后自己创建一个,@ID这些东东类似函数的入参
      

  4.   

    master是系統數據庫﹐它記錄了所有該服務器各數據庫結構的資料﹔procedure是存儲過程﹐是后端程序的一種﹔drop procedure是刪除一個存儲過程﹔dbo.sysobjects可加可不加括號﹐加括號是則聲明為用戶定義的名稱﹐主要用于區別系統保留字﹐如定義了一個table名是insert那就要加一個括號﹐stroe procedure也是存儲過程﹐跟procedure一樣﹔@id numeric(18,0)是定義的參數﹐前面是參數名﹐后面是數據類型是不是在考試???
      

  5.   

    对master数据库有一些了解才知道。[ ]是通配符 — 需匹配的字符
    匹配指定范围内或者属于方括号所指定的集合中的任意单个字符。
       procedure是存储过程的标识。drop procedure 是删除一个存储过程。
    @id numeric(18,0)各项的意思是:申明一个numberic类型的变量,括号里面是定义的精度。我太有耐心了。^_^