http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=8118

解决方案 »

  1.   

    请哪个好心的大哥结合下边的例子给我作个详细的解释呀!!!!!!
    感恩戴德!!!
    CREATE  PROCEDURE  [procedure]    
    (    
    @sval  varchar(50)  OUTPUT,    
    @intval  int  OUTPUT,    
    @floatval  decimal(6,4)  OUTPUT    
    )  AS    
     
    if  @intval  is  null    
    select  '@intval  is  null'  as  answer    
    else    
    select  '@intval  is  NOT  null'  as  answer    
     
    set  @sval='Hello  '  +  @sval    
    set  @intval=@intval+1    
    set  @floatval=@floatval+1    
     
    return  10    
     
     
    参考的php代码:  
    <?php    
    $conn=mssql_connect("myhost","user","pwd");    
    if  ($conn)  {    
    mssql_select_db("mydb",$conn);    
     
    $stmt=mssql_init("procedure",$conn);    
    mssql_bind($stmt,"RETVAL",&$val,SQLINT4);    
     
    $ival=11;    
    $fval=2.1416;    
    $sval="Frank";    
     
    mssql_bind($stmt,"@sval",&$sval,SQLVARCHAR,TRUE);    
    mssql_bind($stmt,"@intval",&$ival,SQLINT4,TRUE);    
    mssql_bind($stmt,"@floatval",&$fval,SQLFLT8,TRUE);    
     
    $result=mssql_execute($stmt);    
     
    $arr=mssql_fetch_row($result);    
    print  ("Answer:  "  .  $arr[0]  .  "  
    "  );    
    print  ("RETVAL  =  $val  ;  intval  =  $ival  ;  floatval  =  $fval  ;  string  =  $sval");    
     
    mssql_close($conn);    
    }    
    else  print("ooops!");    
    ?>