Правка записей в SQLite в Dart
Запрос UPDATE отправляют через
db.execute, затем читают измененные
строки выборкой db.select.
В cargo.db таблица crate
заполнена так:
import 'package:sqlite3/sqlite3.dart';
final db = sqlite3.open('cargo.db');
db.execute('''
CREATE TABLE crate (
id INTEGER PRIMARY KEY,
tag TEXT NOT NULL,
weight REAL NOT NULL
);
INSERT INTO crate (tag, weight) VALUES
('C-01', 12.5),
('C-02', 8.0),
('C-03', 15.0);
''');
db.dispose();
Поставьте вес 9.5 для ящика
"C-02" и выведите новый вес этой
строки.
Таблица shift_slot в cargo.db:
import 'package:sqlite3/sqlite3.dart';
final db = sqlite3.open('cargo.db');
db.execute('''
CREATE TABLE shift_slot (
id INTEGER PRIMARY KEY,
crew TEXT NOT NULL,
zone TEXT NOT NULL
);
INSERT INTO shift_slot (crew, zone) VALUES
('Red', 'A'),
('Blue', 'B'),
('Green', 'A'),
('Gold', 'A');
''');
db.dispose();
Замените зону "A" на "C" у всех,
кто сейчас в зоне "A". Выведите пары
crew и zone, отсортировав по
имени команды.
Рейсы в cargo.db лежат в таблице
leg:
const table = '''
id | code | status
1 | L-100 | open
2 | L-101 | open
3 | L-102 | done
''';
Переведите рейс "L-101" в статус
"done" и выведите коды рейсов со
статусом "done".
Смены склада в shift_slot после правок:
const table = '''
crew | zone
Blue | B
Gold | C
Green | C
Red | C
''';
Перенесите в зону "D" все команды из
"C", кроме "Gold". Выведите
пары crew и zone.