MS_SQL中自定義函數的問題 |
答題得分者是:pedro
|
leonli80
一般會員 發表:29 回覆:27 積分:11 註冊:2006-08-01 發送簡訊給我 |
1、在MS_SQL中自定義函數,可否像在Delphi裏面的函數一樣,輸入值有缺省值可以設定
CREATE FUNCTION [dbo].[getTOTAL] (@BEGIN_DATE DATETIME, @END_DATE DATETIME, @DB_TYPE NVARCHAR(1)) RETURNS NUMERIC(19,4) AS BEGIN END 想做到向下面的功能一樣 Delphi: function getTOTAL(begin,end: TDateTime, db_type: string = '1') 2、MS_SQL的自定義函數中,FROM後面的Table是否可以動態變換 如: DECLARE @TB NVARCHAR(10) IF @DB_TYPE = '1' SET @TB = 'AAA' ELSE SET @TB = 'BBB' SELECT * FROM @TB 謝謝。 |
st33chen
尊榮會員 發表:15 回覆:591 積分:1201 註冊:2005-09-30 發送簡訊給我 |
您好,
我沒測, 參考一下. 第一題, CREATE PROC[EDURE] procedure_name [;number] [ {@parameter data_type} [VARYING] [= default] [OUTPUT] ] [,...n] [WITH { RECOMPILE | ENCRYPTION | RECOMPILE, ENCRYPTION } ] [FOR REPLICATION] AS sql_statement [...n] 第二題, EXEC ( 'SELECT * FROM ' @TB)
------
IS IT WHAT IT IS 我是 李慕白 請倒著唸. 又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦); 都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲. |
pedro
尊榮會員 發表:152 回覆:1187 積分:892 註冊:2002-06-12 發送簡訊給我 |
您好,提供給您參考
1.在sql 2000之前版本(後面版本本人沒用過)sql function並無預設參數值機制 在function裡,可用if IsNull(@var,'')='' set @var='defaultvalue' 或用set @var=(case when IsNull(@var,'')<>'' then @var else 'defaultvalue' end) 2.select from後面資料表來源應該需為固定的哦!? 利用 if @DB_TYPE='1' begin select * from table1 end if @DB_TYPE='2' begin select * from table2 end ===================引 用 leonli80 文 章=================== 1、在MS_SQL中自定義函數,可否像在Delphi裏面的函數一樣,輸入值有缺省值可以設定 想做到向下面的功能一樣 Delphi: function getTOTAL(begin,end: TDateTime, db_type: string = '1') 2、MS_SQL的自定義函數中,FROM後面的Table是否可以動態變換 |
longjibo
一般會員 發表:18 回覆:18 積分:12 註冊:2002-11-08 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |