SQL Server から Vertica に移行しています。変数を作成する同等の方法はありますか?
通常、私は次のようなことをします:
Define @myVariable int
Set @myVariable = select MAX(Field1) from myTable
vsql を直接使用している場合を除いて、Vertica は変数を許可していないと思いますが、vsql 変数は非常に制限されており、期待どおりに動作しません。
-- this will work
\set a foo
\echo :a
foo
-- this is not what you expect:
\set a NOW()
\echo :a
NOW()
\set a select max(id) from s.items()
\echo :a
selectmax(id)froms.items()
詳細については、 https: //my.vertica.com/docs/6.1.x/HTML/index.htm#2732.htm にある vertica のドキュメントを参照してください。
Vertica では、SQL Server で「変数を作成」しないのと同じ方法で「変数を作成」しません。変換しようとしているのは、T-SQL スクリプトです。
Vertica で同じことを行うには、データベースの外部で実行される Perl または Python または Java ... スクリプトを作成するか、Vertica内で実行される C++ または R または Java でユーザー定義関数を記述します。