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 |
預設執行行為
交易會影響某些函式
SYSDATE、TIMESTAMP、CURRENT_DATE部分函式可繞過交易
GETDATE、TIMEOFDAYBEGIN; 或 START TRANSACTION; 開始END; 或 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;
Redshift 入門