Вы можете получить все видео, презентации, запросы, вопросы для собеседований и практические файлы по теме «Снежинка» в моём курсе на Udemy по очень низкой цене. Я буду обновлять этот контент и загружать все новые видео для этого курса.
Мой курс по теме «Снежинка» на Udemy:
https://www.udemy.com/course/snowflak...
Со мной можно связаться по адресу [email protected].
===================
Хранимые процедуры
==================
// Создать базу данных и схемы, если они не существуют
СОЗДАТЬ БАЗУ ДАННЫХ, ЕСЛИ НЕ СУЩЕСТВУЕТ MYOWN_DB;
СОЗДАТЬ СХЕМУ, ЕСЛИ НЕ СУЩЕСТВУЕТ MYPROCS;
===============
Процедура SQL
===============
// Настройка образца данных
СОЗДАТЬ ИЛИ ЗАМЕНИТЬ ТАБЛИЦУ MYOWN_DB.PUBLIC.CUST_SALES
(CID INT, CNAME VARCHAR, PRODNAME VARCHAR, PROD_CAT VARCHAR, PRICE NUMBER);
ВСТАВИТЬ ЗНАЧЕНИЯ В MYOWN_DB.PUBLIC.CUST_SALES
(101, 'RAMU', 'ХОЛОДИЛЬНИК', 'ЭЛЕКТРОНИКА', 25000),
(101, 'RAMU', 'ТЕЛЕВИЗОР', 'ЭЛЕКТРОНИКА', 33500),
(101, 'RAMU', 'MAGGIE', 'ЕДЫ', 200),
(102, 'LATHA', 'ФУТБОЛКА', 'МОДА', 1099),
(102, 'LATHA', 'ДЖИНСЫ', 'МОДА', 2999),
(102, 'LATHA', 'ГРЕЦКИЕ ОРЕХИ', 'ЕДЫ', 2000),
(102, 'LATHA', 'СТИРАЛЬНАЯ МАШИНА', 'ЭЛЕКТРОНИКА', 29000),
(102, 'LATHA', 'УМНЫЕ ЧАСЫ', 'ЭЛЕКТРОНИКА', 12000),
(102, 'LATHA', 'МИНДАЛЬ', 'ПРОДУКТЫ', 1500),
(102, 'LATHA', 'ТУРИСТИЧЕСКИЙ СТОЛ', 'ПРОДУКТЫ', 500),
(102, 'LATHA', 'РИС', 'ПРОДУКТЫ', 1300);
выбрать * из MYOWN_DB.PUBLIC.CUST_SALES;
// Создать процедуру для расчета общей суммы расходов в магазине
СОЗДАТЬ ИЛИ ЗАМЕНИТЬ ПРОЦЕДУРУ MYPROCS.CUST_TOT_PRICE(ID INT, CAT VARCHAR)
ВОЗВРАЩАЕТ FLOAT
ЯЗЫК SQL
AS
$$
declare
total_spent float;
cur1 cursor for select CID, PROD_CAT, PRICE from MYOWN_DB.PUBLIC.CUST_SALES;
begin
total_spent := 0;
for rec in cur1
do
if (rec.PROD_CAT = :CAT and rec.CID = :ID) then
total_spent := total_spent+rec.PRICE;
end if;
end for;
return total_spent;
end;
$$
// Вызов хранимой процедуры
CALL MYPROCS.CUST_TOT_PRICE(101, 'ELECTRONICS');
CALL MYPROCS.CUST_TOT_PRICE(102, 'FOOD');
CALL MYPROCS.CUST_TOT_PRICE(102, 'ELECTRONICS');
CALL MYPROCS.CUST_TOT_PRICE(103, 'FASHION');
=======================
Процедура Java Script
======================
/* Как выполнить SQL-запрос из Java Script
var my_sql_command1 = "delete from history_table where event_year less_than_Symbol 2016";
var statement1 = snowflake.CreateStatement(sqlText: my_sql_command1);
statement1.execute();
*/
// создать процедуру для получения количества строк в таблице
создать или заменить процедуру get_row_count(table_name VARCHAR)
возвращает float, а не null
язык javascript
как
$$
var row_count = 0;
var sql_command = "select count(*) from " + TABLE_NAME;
var stmt = snowflake.createStatement(
{ sqlText: sql_command }
);
var res = stmt.execute();
res.next();
row_count = res.getColumnValue(1);
return row_count;
$$
;
// Вызвать процедуру
call GET_ROW_COUNT('MYOWN_DB.PUBLIC.CUST_SALES');
Информация по комментариям в разработке