SQL中的函數能有默認參數嗎?
SQL中的函數能像VB6.0一樣,可以設置默認參數嗎? 
 比如:函數F_GetName有兩個參數,最后一個為默認參數,調用時能夠只傳一個參數嗎?即能夠select   dbo.F_GetName( '00001 ')這樣調用嗎?
------解决方案--------------------用户定义函数的参数。CREATE FUNCTION 语句中可以声明一个或多个参数。函数最多可以有 1,024 个参数。函数执行时每个已声明参数的值必须由用户指定,除非该参数的默认值已经定义。 如果函数的参数有默认值,在调用该函数时必须指定 "default "关键字才能获得默认值。这种行为不同于存储过程中有默认值的参数,在存储过程中省略参数也意味着使用默认值。   
 使用 @ 符号作为第一个字符来指定参数名称。参数名称必须符合标识符的规则。每个函数的参数仅用于该函数本身;相同的参数名称可以用在其它函数中。参数只能代替常量;而不能用于代替表名、列名或其它数据库对象的名称。   
------解决方案--------------------USE AdventureWorks; 
 GO 
 IF OBJECT_ID (N 'Sales.fn_SalesByStore ', N 'IF ') IS NOT NULL 
     DROP FUNCTION Sales.fn_SalesByStore; 
 GO 
 CREATE FUNCTION Sales.fn_SalesByStore (@storeid int = 676) 
 RETURNS TABLE 
 AS 
 RETURN  
 ( 
     SELECT P.ProductID, P.Name, SUM(SD.LineTotal) AS  'YTD Total ' 
     FROM Production.Product AS P  
       JOIN Sales.SalesOrderDetail AS SD ON SD.ProductID = P.ProductID 
       JOIN Sales.SalesOrderHeader AS SH ON SH.SalesOrderID = SD.SalesOrderID 
     WHERE SH.CustomerID = @storeid 
     GROUP BY P.ProductID, P.Name 
 ); 
 GO    
 SELECT * FROM Sales.fn_SalesByStore (default);