5

SQL Server から Vertica に移行しています。変数を作成する同等の方法はありますか?

通常、私は次のようなことをします:

Define @myVariable int
Set @myVariable = select MAX(Field1) from myTable
4

4 に答える 4

5

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 のドキュメントを参照してください。

于 2013-06-11T06:37:33.087 に答える
2

Vertica では、SQL Server で「変数を作成」しないのと同じ方法で「変数を作成」しません。変換しようとしているのは、T-SQL スクリプトです。

Vertica で同じことを行うには、データベースの外部で実行される Perl または Python または Java ... スクリプトを作成するか、Verticaで実行される C++ または R または Java でユーザー定義関数を記述します。

于 2016-02-05T00:09:50.170 に答える