因为不存在gp_WriteValdateNum_Pro;2的存储过程。你可以创建多个同名的存储过程,然后在名字后面用;n来区分,调用时也是这样。例如
1> create procedure p_test1;1 (@i integer) as print @i*10
2> go
1> create procedure p_test1;2 (@i integer) as print @i*100
2> go
1> exec p_test1;1 100
2> go
1000
1> exec p_test1;2 100
2> go
10000
1>

解决方案 »

  1.   

    ;number是可选的整数,用来对同名的过程分组,以便用一条 DROP PROCEDURE 语句即可将同组的过程一起除去。例如,名为 orders 的应用程序使用的过程可以命名为 orderproc;1、orderproc;2 等。DROP PROCEDURE orderproc 语句将除去整个组。如果名称中包含定界标识符,则数字不应包含在标识符中,只应在 procedure_name 前后使用适当的定界符。
      

  2.   

    那么所谓的同名存储过程在企业管理器里面如何显示的?也是显示成 create procedure p_test1;1
    create procedure p_test1;2么?我在我的企业管理器里面没有找到create procedure p_test1;1这样的存储过程
      

  3.   

    是放在统一存储过程里面的,如:
    CREATE PROCEDURE sp_t
    asselect 11
    GOCREATE PROCEDURE sp_t;2
    as
    select getdate()
    GO