Introduction to Redshift
Jason Myers
Principal Engineer
SELECT name,
priority,
FROM data_log
-- SYSDATE = 2024-02-07 00:17:24.259227
WHERE intake_ts < SYSDATE;
SELECT name,
data_size,
FROM data_details
-- SYSDATE = 2024-02-07 00:18:04.830527
WHERE current_intake_date < SYSDATE;
data_intake
name | priority |
---|---|
idaho_monitoring_locations | 1 |
idaho_samples | 2 |
idaho_site_id | 3 |
UPDATE data_intake
SET priority=1
WHERE name='idaho_samples';
UPDATE data_intake
SET priority=2
WHERE name='idaho_monitoring_locations';
data_intake
name | priority |
---|---|
idaho_monitoring_locations | 1 |
idaho_samples | 1 |
idaho_site_id | 3 |
Default Execution Behavior
Transactions Affect some Functions
SYSDATE
, TIMESTAMP
, CURRENT_DATE
Some functions skirt around Transactions
GETDATE
, TIMEOFDAY
BEGIN;
or START TRANSACTION;
END;
or COMMIT;
BEGIN;
query1; query2;
END;
-- Start a transaction
BEGIN;
SELECT name,
priority,
FROM data_log
-- SYSDATE = 2024-02-07 00:17:24.259227
WHERE intake_ts < SYSDATE;
SELECT name,
data_size,
FROM data_details
-- SYSDATE = 2024-02-07 00:17:24.259227
WHERE current_intake_date < SYSDATE;
-- End a transaction
END;
-- Start a transaction
BEGIN;
SELECT name,
priority,
FROM data_intake
-- GETDATE = 2024-02-07 00:17:24.259227
WHERE data_intake_ts < GETDATE();
SELECT name,
data_size,
FROM data_details
-- GETDATE = 2024-02-07 00:18:44.830527
WHERE current_intake_date < GETDATE();
-- End a transaction
END;
Introduction to Redshift