#sql #stored-procedures #google-bigquery
#sql #хранимые процедуры #google-bigquery
Вопрос:
Кто-нибудь может помочь мне с этой проблемой хранимых процедур. Мой SP не дает мне ответа в пределах моих входных дат. Что я здесь делаю не так?
CREATE OR REPLACE PROCEDURE `PROJECT.DATASET.Test1`(datefrom DATE, dateto DATE)
BEGIN
Create or Replace Table `PROJECT.DATASET.Test1` AS
SELECT *
FROM `PROJECT.DATASET.VIEW_1` --This is a view
WHERE calendar_date = calendar_date;
END;
Когда я вызываю свою процедуру:
DECLARE datefrom DATE DEFAULT NULL;
DECLARE dateto DATE DEFAULT NULL;
CALL `PROJECT.DATASET.Test1`('2020-08-01', '2020-08-10');
Кстати, я новичок в stackoverflow, и если вам не нравится мой вопрос, пожалуйста, скажите и дайте мне шанс улучшить мой вопрос, а не помечать.
Ответ №1:
Я думаю, что вам не хватает ваших входных дат в предложении WHERE
Рассмотрите возможность исправления вашей процедуры, как указано ниже
CREATE OR REPLACE PROCEDURE Test1(datefrom DATE, dateto DATE)
BEGIN
CREATE OR REPLACE TABLE `PROJECT.DATASET.Result_TABLE` AS
SELECT *
FROM `PROJECT.DATASET.VIEW_1` --This is a view
WHERE calendar_date BETWEEN datefrom AND dateto;
END;
После исправления процедуры — теперь вы можете использовать ниже, чтобы увидеть результат
DECLARE datefrom DATE DEFAULT NULL;
DECLARE dateto DATE DEFAULT NULL;
CALL `PROJECT.DATASET.Test1`('2020-08-01', '2020-08-10');
SELECT * FROM `PROJECT.DATASET.Result_TABLE`;