程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> Sql2k中新增加的Function的sqlbook的幫助

Sql2k中新增加的Function的sqlbook的幫助

編輯:關於SqlServer
 /*
  http://www.ASP888.Net 豆腐技術站
  */
  CREATE FUNCTION
  創建用戶定義函數,它是返回值的已保存的 Transact-SQL 例程。用戶定義函數不能用於執行一組修改全局數據庫狀態的
  操作。與系統函數一樣,用戶定義函數可以從查詢中喚醒調用。也可以像存儲過程一樣,通過 EXECUTE 語句執行。
  
  用戶定義函數用 ALTER FUNCTION 修改,用 DROP FUNCTION 除去。
  
  語法
  標量函數
  CREATE FUNCTION [ owner_name.] function_name
  ( [ { @parameter_name [AS] scalar_parameter_data_type [ = default ] } [ ,...n ] ] )
  
  RETURNS scalar_return_data_type
  
  [ WITH < function_option> [ [,] ...n] ]
  
  [ AS ]
  
  BEGIN
  function_body
  RETURN scalar_expression
  END
  
  內嵌表值函數
  CREATE FUNCTION [ owner_name.] function_name
  ( [ { @parameter_name [AS] scalar_parameter_data_type [ = default ] } [ ,...n ] ] )
  
  RETURNS TABLE
  
  [ WITH < function_option > [ [,] ...n ] ]
  
  [ AS ]
  
  RETURN [ ( ] select-stmt [ ) ]
  
  多語句表值函數
  CREATE FUNCTION [ owner_name.] function_name
  ( [ { @parameter_name [AS] scalar_parameter_data_type [ = default ] } [ ,...n ] ] )
  
  RETURNS @return_variable TABLE < table_type_definition >
  
  [ WITH < function_option > [ [,] ...n ] ]
  
  [ AS ]
  
  BEGIN
  function_body
  RETURN
  END
  
  < function_option > ::=
  { ENCRYPTION | SCHEMABINDING }
  
  < table_type_definition > ::=
  ( { column_definition | table_constraint } [ ,...n ] )
  
  參數
  owner_name
  
  擁有該用戶定義函數的用戶 ID 的名稱。owner_name 必須是現有的用戶 ID。
  
  function_name
  
  用戶定義函數的名稱。函數名稱必須符合標識符的規則,對其所有者來說,該名稱在數據庫中必須是唯一的。
  
  @parameter_name
  
  用戶定義函數的參數。CREATE FUNCTION 語句中可以聲明一個或多個參數。函數最多可以有 1,024 個參數。函數執行時每個已聲明參數的值必須由用戶指定,除非該參數的默認值已經定義。 如果函數的參數有默認值,在調用該函數時必須指定"default"關鍵字才能獲得默認值。這種行為不同於存儲過程中有默認值的參數,在存儲過程中省略參數也意味著使用默認值。
  
  使用 @ 符號作為第一個字符來指定參數名稱。參數名稱必須符合標識符的規則。每個函數的參數僅用於該函數本身;相同的參數名稱可以用在其它函數中。參數只能代替常量;而不能用於代替表名、列名或其它數據庫對象的名稱。
  
  scalar_parameter_data_type
  
  參數的數據類型。所有標量數據類型(包括 bigint 和 sql_variant)都可用作用戶定義函數的參數。不支持 timestamp數據類型和用戶定義數據類型。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved