Я пытаюсь вставить данные в две таблицы в одном запросе. вторая таблица требует значения scope_identity()
из первого.SQL Server CE не распознает DECLARE, BEGIN, COMMIT
Мой запроса:
String query = "DECLARE @questionID int;
INSERT INTO question (questionText) VALUES(@question);SELECT @questionID = scope_identity();
INSERT INTO topic_question(toppicID,questionID) VALUES(@topic,@questionID);";
Исполнительный как:
SqlCeCommand commandInsert = new SqlCeCommand(query, connection);
commandInsert.Parameters.AddWithValue("@question", question);
commandInsert.ExecuteScalar();
получил сообщение об ошибке:
Была ошибку разбора номера query.Token Line = 1 , Смещение линии токена = 1, токен в ошибке = DECLARE. ..........
Я попытался с помощью BEGIN TRANSACTION
в начале запроса и COMMIT
наконец запроса. Но все еще ошибка остается. Кто-нибудь может заметить, что я делаю неправильно?
SQL CE имеет сокращенный набор команд; мне не было бы приятно слышать, что это не поддерживается: https://msdn.microsoft.com/en-us/library/ms173372.aspx –