通过向各位学习,我已经知道如何建立存储过程,我想在这个存储过程运行后,删除它,请问,在vb中如何做?

解决方案 »

  1.   

    sql="drop procedure 存储过程名"
    sql是记录集可以用在connection和recordset上。
    存储过程一定要存在,如果不存在的会报错的。或者可以在数据库(system表)中先查找是不是存在这个存储过程,如果不存在就退出。存在就删除。
      

  2.   

    不好意思,上边说错了。存储过程名是在sql数据库里sysobjects表里。
      

  3.   

    IF EXISTS (SELECT name     FROM   sysobjects (系统SQL表名)    WHERE  name =‘存储过程名’     AND    type = 'P')
        DROP PROCEDURE 存储过程
      

  4.   

    IF EXISTS (SELECT name     FROM   sysobjects (系统SQL表名)
                      ^^^^^  ???                       ^^^^^^^^^^   哪个表名?
       WHERE  name =‘存储过程名’     AND    type = 'P')
        DROP PROCEDURE 存储过程
    最后一问,我弄明白了,晚上就结贴
      

  5.   

    Create Proc DelProc
    @ProcName nvarchar(50)
    as
    Exec('Drop Procedure ' + @ProcName)
      

  6.   

    sysobjects 表~大哥,~~结分很难吗?存储过程都是保存在sysobjects 这个SQL系统表里面的,所以存储过程名都是保存在sysobjects .name 的字段里面的,所以,首先判断这个字段里面有没有你的存储过程名,如果有就删除~明白了吗?~~~