1

サービス プログラム プロシージャの SQL ラッパーを作成しています。手順は機能しますが、作成している UDF の動作がおかしいです。外部名キーワードを使用して UDF を作成すると、大文字と小文字が区別されます。ここに私が持っているコードがあります:

create function C1ANEWF.getSalesAuditStorePeriodLibrary
                   (inStore decimal(5,0),
                    inDate  date)
returns char(10) ccsid 37

language rpgle
parameter style general
specific sa1802f001
not deterministic
reads sql data
returns null on null input
not fenced
program type sub
no final call
allow parallel
no scratchpad
external name C1NEWO.SA1802("getSalesAuditStorePeriodLibrary")

これを作成すると、うまくいきます。プロシージャ名からを削除しても、削除""されません。を使用していない多くの SQL UDF があり""、大文字と小文字の区別は問題になりません。

何か案は?

4

2 に答える 2

2

サブプロシージャー名を引用符で囲むと、DB2 は引用符で囲まれたとおりに、つまり大/小文字混合で名前を使用するように指示されます。このプロシージャへの呼び出しが大/小文字混合で関数を登録する場合にのみ機能する場合、呼び出しでも大/小文字混合を使用する必要があるようです。呼び出しステートメントは二重引用符を使用していますか? その場合は、そこも削除してください。

于 2013-10-16T20:49:14.970 に答える