IF EXISTS (SELECT * FROM SYSOBJECTS WHERE ID = OBJECT_ID('SP_DC003'))
   DROP PROCEDURE SP_DC003
这样写好吗?还是联机丛书里的好?
IF EXISTS (SELECT NAME SYSOBJECTS WHERE NAME='SP_DC003'AND TYPE='P')
DROP PROCEDURE SP_DC003

解决方案 »

  1.   

    SELECT * FROM SYSOBJECTS WHERE ID = OBJECT_ID('authors')
    SELECT NAME FROM SYSOBJECTS WHERE NAME='authors'AND TYPE='u'个人觉得第二种会好些吧,select name 应该别select * 快,而且第二种没用OBJECT_ID这样的系统函数
      

  2.   

    会不会NAME有重复的?SYSOBJECTS表里没有主健啊
      

  3.   

    同一TYPE的对象没有重复的,而且表中有唯一的ID列
      

  4.   

    看你表里有没有重复的NAME,有重复的就不行
      

  5.   

    楼上,我表里没有NAME列,哈哈!