Back
Syntax
Study
Editor
Mode:
HTML
CSS
JavaScript
PHP
Reset
Run »
HTML / CSS / JS
-- Create a database CREATE DATABASE myappdb WITH ENCODING = 'UTF8' LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8'; -- Create a schema CREATE SCHEMA IF NOT EXISTS shop; -- Create a table with various constraints CREATE TABLE shop.products ( id SERIAL PRIMARY KEY, sku VARCHAR(50) NOT NULL UNIQUE, name VARCHAR(255) NOT NULL, description TEXT, price NUMERIC(10,2) NOT NULL CHECK (price >= 0), stock INTEGER NOT NULL DEFAULT 0 CHECK (stock >= 0), category_id INTEGER REFERENCES shop.categories(id) ON DELETE SET NULL, is_active BOOLEAN NOT NULL DEFAULT TRUE, created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW() ); -- Multi-column unique constraint (table-level) ALTER TABLE shop.products ADD CONSTRAINT uq_products_name_category UNIQUE (name, category_id); -- Auto-update updated_at via a trigger CREATE OR REPLACE FUNCTION update_updated_at() RETURNS TRIGGER AS $$ BEGIN NEW.updated_at = NOW(); RETURN NEW; END; $$ LANGUAGE plpgsql; CREATE TRIGGER trg_products_updated_at BEFORE UPDATE ON shop.products FOR EACH ROW EXECUTE FUNCTION update_updated_at();
Result
Open