SQLクエリでユーザー定義関数を一意に識別できるregular expression
が必要です。例えばSQLでユーザー定義関数を抽出する正規表現
:
with someExp(parameter)
as
(
select parameter = convert(varchar(8000),'welcome')
union all
select parameter + 'user' from someExp where lengthOfPara(parameter) < 100
)
select parameter from someExp
order by parameter
正規表現を一意機能convert and lengthOfPara
両方を識別すべきです。
ありがとうございます。
不可能... –
正規表現からあまりにも多くのことを聞いています。また、私がよく知っているほとんどのSQLフレーバでは、 'convert'はユーザ定義の関数ではありません(組み込み関数です)。 – NPE
ここで言及されているようなSQLパーサーを考えてみてください。http://stackoverflow.com/questions/660609/sql-parser-library-for-java – Asaf