2012年8月11日 星期六

informix sql new line 換行

在SQL SERVER SQL 中換行為
SELECT '1' + char(13)+char(10) + '2'
結果為
1
2

在INFORMIX SQL中換行則需先執行換行設定後
 EXECUTE PROCEDURE IFX_ALLOW_NEWLINE('t');
再進行換行
select '1' ||'
'||'2'  from empty ;

以上只在當次session中生效.否則就要在$ONCONFIG 中將ALLOW_NEWLINE設定為1

參考來源 http://www.iiug.org/forums/classics/index.cgi/read/4100

後記:

後來建了一個function,在里頭進行折行效果,結果一直無法建立, 出現以下錯誤
 -282 Found a quote for which there is no matching quote

查看informix online help說明,
 Quotes on different lines:

啊明明就有啟用參數啊! WHY WHY WHY?

測了半天,原來要在create function前先啟用 IFX_ALLOW_NEWLINE, 如下

EXECUTE PROCEDURE IFX_ALLOW_NEWLINE('t');
create function fn_bevtest
(i_col1 integer) RETURNING varchar(255);

define v_name varchar(255);
EXECUTE PROCEDURE IFX_ALLOW_NEWLINE('t');
select '1'||'
'||'2' into v_name from empty;

return v_name;
end function;
 


沒有留言:

張貼留言

publish error allowDefinition='MachineToApplication'

一個老舊的aspx web form專案,調了一些功能建置成功,但進行部署時顯示以下錯誤。 在應用程式層級之外使用註冊為 allowDefinition='MachineToApplication' 的區段發生錯誤。錯誤的原因可能是虛擬目錄尚未在 IIS 中設定為...