Créer une variable dans Vertica
Je suis la transition à partir de SQL Server pour Vertica. Est-il comparable à créer une variable?
Habituellement je fais quelque chose comme:
Define @myVariable int
Set @myVariable = select MAX(Field1) from myTable
- Vertica est basé sur Postgres, donc je m'attends Postgres-les déclarations de style au travail (postgresql.org/docs/9.1/static/plpgsql-declarations.html).
- Vertica est une base de données orientée colonne, PostgerSQL ne l'est pas. Comment peut-Vertica être "fondée" sur Postgres?
- La licence pour Postgres code permet aux développeurs de modifier le code et re-vendre. De nombreuses bases de données récentes sont basées sur Postgres -- Greenplum, ParAccel, Netezza, Redshift, par exemple. En fait, ce n'est pas un grand secret. La Postgres Wiki proclame fièrement le nombre de bases de données dérivées: wiki.postgresql.org/wiki/PostgreSQL_derived_databases.
- exactement! Et c'est ce qu'ils disent:"orientée sur la Colonne de DataWarehouse (créé par Stonebraker), ne peut être un fork de la psql client de la bibliothèque."
Vous devez vous connecter pour publier un commentaire.
Je ne pense pas que Vertica permet variables, sauf si vous utilisez vsql directement, mais alors vsql variables sont très limitées et ne fera pas ce que vous attendez:
Voir pour plus d'informations vertica doc à https://my.vertica.com/docs/6.1.x/HTML/index.htm#2732.htm
Vous n'avez pas "créer des variables" dans Vertica de la même manière, vous n'avez pas de "créer des variables" dans SQL Server. Ce que vous essayez de convertir un script T-SQL.
Vous pouvez faire la même chose dans Vertica par la création de Perl ou Python ou Java ... scripts en cours d'exécution à l'extérieur la base de données ou l'écriture d'une fonction définie par l'utilisateur en C++ ou R ou Java s'exécutant à l'intérieur de Vertica.
Essayer comme ci-dessous :
Vous pouvez utiliser
:variable_name
dans Vertica pour un utilisateur variable d'entrée. Par exemple:Au-dessus de
start
etend
sont les variables. Lorsque vous exécutez la requête, une boîte de dialogue s'ouvre vous invitant à saisir les valeurs pourstart
etend
.