Hi! Could we please enable some services and cookies to improve your experience and our website?
No, thanks.
Okay!
SQLize
Online
/
PHPize Online
/
SQLtest Online
A
A
A
Share code
Donate
Blog
Popular
FAQ
Donate
A
A
A
Share
Blog
Popular
FAQ
Online Sandbox for SQL and PHP: Write, Run, Test, and Share SQL Queries and PHP Code
SQL code:
Upload
Copy
Format
Clear
CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; CREATE SCHEMA IF NOT EXISTS waybills; CREATE TYPE waybills.checkpoint_vehicle_type AS ENUM ('passenger', 'cargo', 'bus'); CREATE TABLE IF NOT EXISTS waybills.checkpoints ( id UUID DEFAULT uuid_generate_v4() PRIMARY KEY, provider TEXT NOT NULL, external_id TEXT NOT NULL, external_name TEXT, lat DOUBLE PRECISION NOT NULL, lon DOUBlE PRECISION NOT NULL, vehicle_types waybills.checkpoint_vehicle_type[] NOT NULL, details JSONB NOT NULL, -- address, schedule, directions, etc is_deleted BOOLEAN NOT NULL DEFAULT FALSE, updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), increment BIGSERIAL NOT NULL ); -- indices CREATE UNIQUE INDEX IF NOT EXISTS idx__checkpoints_provider_external_id ON waybills.checkpoints (provider, external_id); CREATE INDEX IF NOT EXISTS idx__checkpoints_provider ON waybills.checkpoints (provider); CREATE INDEX IF NOT EXISTS idx__checkpoints_updated_at ON waybills.checkpoints (updated_at); CREATE INDEX IF NOT EXISTS idx__checkpoints_increment ON waybills.checkpoints (increment); -- triggers CREATE OR REPLACE FUNCTION set_update() RETURNS TRIGGER AS $$ BEGIN NEW.updated_at = NOW(); NEW.increment = NEXTVAL(TG_ARGV[0]); RETURN NEW; END; $$ LANGUAGE plpgsql; DROP TRIGGER IF EXISTS trigger_update ON waybills.checkpoints; CREATE TRIGGER trigger_update BEFORE UPDATE ON waybills.checkpoints FOR EACH ROW EXECUTE PROCEDURE set_update('waybills.checkpoints_increment_seq'); -- views DROP TYPE IF EXISTS waybills.provider_checkpoint_v1; CREATE TYPE waybills.provider_checkpoint_v1 AS ( external_id TEXT, external_name TEXT, lat DOUBLE PRECISION, lon DOUBLE PRECISION, vehicle_types waybills.CHECKPOINT_VEHICLE_TYPE[], details JSONB -- address, schedule, directions, etc ); DROP TYPE IF EXISTS waybills.checkpoint_v1; CREATE TYPE waybills.checkpoint_v1 AS ( id UUID, provider TEXT, external_id TEXT, external_name TEXT, lat DOUBLE PRECISION, lon DOUBLE PRECISION, vehicle_types waybills.CHECKPOINT_VEHICLE_TYPE[], details JSONB, -- address, schedule, directions, etc increment BIGINT, updated_at TIMESTAMPTZ, is_deleted BOOLEAN );
SQL
Server:
MySQL 8.0
MySQL 8.0 Sakila (ReadOnly)
MySQL 9.3.0
MariaDB 11.4
MariaDB 11.8
MariaDB 10
MariaDB 10 Sakila (ReadOnly)
SQLite 3
SQLite 3 Preloaded
PostgreSQL 10 Bookings (ReadOnly)
PostgreSQL 13
PostgreSQL 14
PostgreSQL 15
PostgreSQL 16
PostgreSQL 17
MS SQL Server 2017
MS SQL Server 2019
MS SQL Server 2022
MS SQL Server 2022 AdventureWorks (ReadOnly)
Firebird 4.0
Firebird 4.0 (Employee)
Oracle Database 19c (HR)
Oracle Database 21c
Oracle Database 23c Free
SOQOL
Version
ER Diagram
Preserve result
Stuck with a problem?
Got Error?
Ask ChatGPT!
Result:
Copy
Clear