Перенос Oracle PL / SQL на Snowflake без JavaScript - PullRequest
0 голосов
/ 08 мая 2020

Возможно, я пропустил это, но похоже, что Snowflake позволяет пользователю определять только JavaScript UDF. Мне не нравится JavaScript как таковой , но у меня есть пакет, содержащий хранимые процедуры PL / SQL и пару функций. Я бы хотел запустить их на Snowflake, но не хотел бы конвертировать все в JavaScript.

Тем более, что я не могу сделать что-то вроде

INSERT INTO...

, но теперь мне нужно чтобы сделать что-то вроде

var sql='INSERT INTO...'
Snowflake.execute (sql);

Большинство PL / SQL вставляет из одной таблицы на основе выбора из другого запроса. Некоторые функции выполняют массовую выборку. Есть способ попроще?

Ответы [ 2 ]

0 голосов
/ 08 мая 2020

Хотя Snowflake SQL не поддерживает курсоры PL / SQL или собственные SQL, но есть варианты, которые можно использовать в вашем сценарии. Пожалуйста, взгляните на ссылки ниже. Также обратите внимание, что реальная вычислительная мощность Snowflake с точки зрения производительности заключается в том, что данные обрабатываются массово, а не построчно.

https://community.snowflake.com/s/question/0D50Z00009f7StWSAU/i-have-written-below-cursor-in-sql-and-working-file-but-i-am-not-able-to-run-the-same-cursor-on-snowflake-please-help

https://docs.snowflake.com/en/user-guide/python-connector-example.html

0 голосов
/ 08 мая 2020

Snowflake не поддерживает PL / SQL, который является проприетарным для Oracle. Похоже, рекомендуемый подход - переписать процедуры в Python и использовать API Snowflake Python.

https://redpillanalytics.com/so-you-want-to-migrate-to-snowflake-part-2/ https://support.snowflake.net/s/question/0D50Z00008nRRhdSAG/i-am-migrating-oracle-plsql-code-into-snowflake-which-is-the-best-way-to-implement-this-using-java-api-or-python-api

...