现在有一个存储过程,和一个用户自定义函数。
存储过程
CREATE Proc Canton_GetOne
@CtID int
as
select CtID,CtCode,CtName from Canton where CtID =@CtID
GO
用户自定义函数
CREATE FUNCTION  GetCtCode_ReturnCtID(@CtCode nvarchar(50))
RETURNS int AS  
BEGIN 
DECLARE @i int
select @i=CtID from Canton where CtCode = @CtCode
RETURN @i
END问题:存储过程的参数,能不能调用这个存储过程
如:exec Canton_GetOne @CtID=dbo.GetCtCode_ReturnCtID('0001')
我试了几下但是怎么也不行。请高人指教
注意:不能修改存储过程的参数类型

解决方案 »

  1.   

    只能这样用吧
    declare @CtID int
    set @CtID = dbo.GetCtCode_ReturnCtID('0001') 
    exec Canton_GetOne @CtID
      

  2.   

    try:
    declare @temp int 
    set @temp = dbo.GetCtCode_ReturnCtID('0001')
    exec Canton_GetOne @CtID=@temp 
      

  3.   

    to huwei2003 
    to CutBug 不能那样,我就是不想在写个存储过程所以在出来问的。
      

  4.   

    先用一个变量得到dbo.GetCtCode_ReturnCtID('0001') 存储过程返回的值
    然后再把这个变量当作参数给另一个存储过程调用就行了
      

  5.   

    to wangping_li  
    你说的办法,上面已经有人说了,我不想用存储过程才来问的。