Я работаю с Filament V2 в Laravel и пытаюсь интегрировать в него хранимую процедуру. Как правильно выполнить хранимую пр ⇐ Php
Я работаю с Filament V2 в Laravel и пытаюсь интегрировать в него хранимую процедуру. Как правильно выполнить хранимую пр
Это хранимая процедура, которую я хочу выполнить:
CREATE PROCEDURE inputTransaction( В transaction_type VARCHAR(255), В id_product INT, IN purchase_quantity INT ) ЯЗЫК SQL НЕ ДЕТЕРМИНИРОВАННЫЙ СОДЕРЖИТ SQL ОПРЕДЕЛИТЕЛЬ БЕЗОПАСНОСТИ SQL КОММЕНТАРИЙ '' НАЧИНАТЬ ОБЪЯВИТЬ цену_единицы BIGINT; ОБЪЯВИТЬ total_price BIGINT;
НАЧАТЬ ТРАНЗАКЦИЮ; ВЫБЕРИТЕ Product_price INTO Price_Unit ИЗ продуктов ГДЕ id = id_product; ЕСЛИ цена_единица НЕ НУЛЯ, ТО SET total_price = Purchase_quantity * цена_единица; INSERT INTO транзакции (тип_транзакции, дата, общая_транзакция) ЗНАЧЕНИЯ (тип_транзакции, СЕЙЧАС(), общая_цена); SET @id_transaction = LAST_INSERT_ID(); INSERT INTO Detail_transactions (id_transaction, id_product, Purchase_quantity, Price_Unit, Total, Date) ЗНАЧЕНИЯ (@id_transaction, id_product, Purchase_quantity, цена_единица, общая_цена, СЕЙЧАС()); -- Совершить транзакцию СОВЕРШИТЬ; ЕЩЕ -- ЕСЛИ id_product не найден, откат транзакции ОТКАТ; КОНЕЦ ЕСЛИ; КОНЕЦ
Кстати, в качестве базы данных я использую laragon.
Я пробовал различные решения из Интернета, но они все равно не работают.
Это хранимая процедура, которую я хочу выполнить:
CREATE PROCEDURE inputTransaction( В transaction_type VARCHAR(255), В id_product INT, IN purchase_quantity INT ) ЯЗЫК SQL НЕ ДЕТЕРМИНИРОВАННЫЙ СОДЕРЖИТ SQL ОПРЕДЕЛИТЕЛЬ БЕЗОПАСНОСТИ SQL КОММЕНТАРИЙ '' НАЧИНАТЬ ОБЪЯВИТЬ цену_единицы BIGINT; ОБЪЯВИТЬ total_price BIGINT;
НАЧАТЬ ТРАНЗАКЦИЮ; ВЫБЕРИТЕ Product_price INTO Price_Unit ИЗ продуктов ГДЕ id = id_product; ЕСЛИ цена_единица НЕ НУЛЯ, ТО SET total_price = Purchase_quantity * цена_единица; INSERT INTO транзакции (тип_транзакции, дата, общая_транзакция) ЗНАЧЕНИЯ (тип_транзакции, СЕЙЧАС(), общая_цена); SET @id_transaction = LAST_INSERT_ID(); INSERT INTO Detail_transactions (id_transaction, id_product, Purchase_quantity, Price_Unit, Total, Date) ЗНАЧЕНИЯ (@id_transaction, id_product, Purchase_quantity, цена_единица, общая_цена, СЕЙЧАС()); -- Совершить транзакцию СОВЕРШИТЬ; ЕЩЕ -- ЕСЛИ id_product не найден, откат транзакции ОТКАТ; КОНЕЦ ЕСЛИ; КОНЕЦ
Кстати, в качестве базы данных я использую laragon.
Я пробовал различные решения из Интернета, но они все равно не работают.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение