Я строю образовательную платформу, где студенты пишут запросы SQL в редакторе Monaco для заданий, связанных с базой данных. Система автоматически оценивает свои представления, сравнивая результаты запроса с ожидаемыми результатами и соответствующим образом назначает оценки. Я использую Node: SQLite или BUN: SQLite модули для операций SQLite в среде Node.js или BUN, но я попадаю в дорожные блоки в выполнении и оценке многоуровневых запросов SQL, которые эффективно используют платформу STUDITRITOR. Вот пример:
Пример назначения : создать студент таблицы с идентификатором поля , телефон , электронная почта и возраст , вставьте 4 строки и запросите таблицу, чтобы получить все данные студента. class = "lang-sql prettyprint-override">
-- Create the table
CREATE TABLE student (
id INT PRIMARY KEY,
phone VARCHAR(15),
email VARCHAR(100),
age INT
)
-- Insert 4 rows into the table
INSERT INTO student (id, phone, email, age)
VALUES
(1, '123-456-7890', 'student1@example.com', 20),
(2, '234-567-8901', 'student2@example.com', 21),
(3, '345-678-9012', 'student3@example.com', 22),
(4, '456-789-0123', 'student4@example.com', 23)
-- Query to fetch all student data
SELECT * FROM student
Примечание: студенты не обязаны использовать полуколоны (;) В конце утверждений. Оценка. Мы столкнулись с этими проблемами:
exec () ограничение : exec () метод может запускать несколько операторов одновременно, но не возвращает результаты запроса. Для автоматической обложки мне нужен выход (например, из выбранных операторов), так что это не жизнеспособно.
Query.get () Требование : такие методы Query.get () возвращают результаты, но требуют отдельных заявлений. Поскольку я не применяю полуколоны, я не могу достоверно разделить вклад студента на отдельные операторы. It worked for basic commands (CREATE, INSERT, SELECT), but it doesn’t support advanced commands like ALTER TABLE, making it insufficient.
Requirements
I need a solution that meets one of these needs:
[*]Execute Entire Query with Результаты : метод или библиотека, которая выполняет полный запрос на SQL с несколькими положениями и возвращает результаты (например, выбор вывода).
Smart Studer Diplting : инструмент, который интеллектуально определяет конец каждого оператора SQL (нельзя соблюдать SemicoLons), которые могут быть выполнены, которые могут быть выполнены (нельзя получить (нельзя, чтобы они могли выполнять, и не заполняют, что они могут выполнять (нельзя никак (нельзя, чтобы они могли выполнять, и не позволяют выполнять их, нельзя делать (нельзя никак (нельзя, чтобы они могли выполнять (нельзя никак (нельзя, чтобы они могли выполнять (нельзя соблюдать (нельзя соблюдать (нельзя соблюдать (нельзя получить Последовательное. SQL в множество заявлений. Он работал для базовых команд (создать, вставить, выбрать), но не поддерживает расширенные команды, такие как Alter Table, что делает ее недостаточным.
Я строю образовательную платформу, где студенты пишут запросы SQL в редакторе Monaco для заданий, связанных с базой данных. Система автоматически оценивает свои представления, сравнивая результаты запроса с ожидаемыми результатами и соответствующим образом назначает оценки. Я использую Node: SQLite или BUN: SQLite модули для операций SQLite в среде Node.js или BUN, но я попадаю в дорожные блоки в выполнении и оценке многоуровневых запросов SQL, которые эффективно используют платформу STUDITRITOR. Вот пример: [list] [*] [b] Пример назначения [/b]: создать студент таблицы с идентификатором поля , телефон , электронная почта и возраст , вставьте 4 строки и запросите таблицу, чтобы получить все данные студента. class = "lang-sql prettyprint-override">[code]-- Create the table CREATE TABLE student ( id INT PRIMARY KEY, phone VARCHAR(15), email VARCHAR(100), age INT )
-- Query to fetch all student data SELECT * FROM student
[/code]
[/list] [b] Примечание: [/b] студенты не обязаны использовать полуколоны (;) В конце утверждений. Оценка. Мы столкнулись с этими проблемами: [list] [*] [b] exec () ограничение [/b]: exec () метод может запускать несколько операторов одновременно, но не возвращает результаты запроса. Для автоматической обложки мне нужен выход (например, из выбранных операторов), так что это не жизнеспособно.
[*] [b] Query.get () Требование [/b]: такие методы Query.get () возвращают результаты, но требуют отдельных заявлений. Поскольку я не применяю полуколоны, я не могу достоверно разделить вклад студента на отдельные операторы. It worked for basic commands (CREATE, INSERT, SELECT), but it doesn’t support advanced commands like ALTER TABLE, making it insufficient.
[/list] Requirements I need a solution that meets one of these needs:
[*][b]Execute Entire Query with Результаты [/b]: метод или библиотека, которая выполняет полный запрос на SQL с несколькими положениями и возвращает результаты (например, выбор вывода).
[b] Smart Studer Diplting [/b]: инструмент, который интеллектуально определяет конец каждого оператора SQL (нельзя соблюдать SemicoLons), которые могут быть выполнены, которые могут быть выполнены (нельзя получить (нельзя, чтобы они могли выполнять, и не заполняют, что они могут выполнять (нельзя никак (нельзя, чтобы они могли выполнять, и не позволяют выполнять их, нельзя делать (нельзя никак (нельзя, чтобы они могли выполнять (нельзя никак (нельзя, чтобы они могли выполнять (нельзя соблюдать (нельзя соблюдать (нельзя соблюдать (нельзя получить Последовательное. SQL в множество заявлений. Он работал для базовых команд (создать, вставить, выбрать), но не поддерживает расширенные команды, такие как Alter Table, что делает ее недостаточным.