Хранимые процедуры в BigQuery

#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`;