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_DATESome functions skirt around Transactions
GETDATE, TIMEOFDAYBEGIN; 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