Hi! Could we please enable some services and cookies to improve your experience and our website?

SQLize | PHPize | SQLtest

Online Sandbox for SQL and PHP: Write, Run, Test, and Share SQL Queries and PHP Code

A A A
Login    Share code      Blog   FAQ
Copy Format Clear
CREATE TABLE FeedConsumption ( consumption_id SERIAL PRIMARY KEY, pigeon_id INT NOT NULL, feed_id INT NOT NULL, date DATE NOT NULL, quantity_grams DECIMAL(6,2) NOT NULL); CREATE TABLE FeedPurchase ( purchase_id SERIAL PRIMARY KEY, supplier_id INT NOT NULL, purchase_date DATE NOT NULL, quantity_kg DECIMAL(6,2) NOT NULL, cost DECIMAL(10,2) NOT NULL, feed_type VARCHAR(50) ); CREATE OR REPLACE PROCEDURE MergeAndUpdateFeedPurchase( v_today DATE, v_threshold NUMERIC ) LANGUAGE SQL AS $$ BEGIN WITH recent_purchases AS ( SELECT purchase_id, supplier_id, quantity_kg, cost, feed_type FROM FeedPurchase WHERE purchase_date > v_today - INTERVAL '30 days' ) MERGE INTO FeedPurchase AS target USING recent_purchases AS source ON target.purchase_id = source.purchase_id WHEN MATCHED THEN UPDATE SET cost = target.cost * 1.05 WHEN NOT MATCHED THEN INSERT (supplier_id, purchase_date, quantity_kg, cost, feed_type) VALUES (source.supplier_id, v_today, source.quantity_kg, source.cost, source.feed_type); END; $$;

Stuck with a problem? Got Error? Ask AI support!

Copy Clear