Возможно ли выполнить два или более оператора select в одном запросе в SQLite? Например,Как выполнить несколько операторов select в одном запросе в sqlite в iOS?
Мы можем выполнить создать или вставить запрос,
NSString *create_query = @"create table if not exists Employee (id integer primary key, firstName text, lastName text);create table if not exists Department (id integer primary key, department text, devision text)";
Используя,
sqlite3_exec(self.contactDB,[create_query UTF8String], NULL, NULL, &errorMessage) == SQLITE_OK)
мы можем выполнить.
Но если запрос что-то подобное,
NSString *select_query = @"select * from Employee;select * from Department";
Тогда это можно выполнить? Если да, то как дифференцировать данные от sqlite3_step
?
Обычно мы Fetching данные, такие как,
if (sqlite3_prepare_v2(self.contactDB, [select_query UTF8String], -1, &statement, NULL) == SQLITE_OK) {
NSLog(@"prepared from data get");
while (sqlite3_step(statement) == SQLITE_ROW) {
NSString *department = [[NSString alloc]initWithUTF8String:(const char*)sqlite3_column_text(statement, 1)];
NSString *devision = [[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(statement, 2)];
NSLog(@"Department : %@, Devision : %@",department,devision);
}
NSLog(@"errror1 is %s",sqlite3_errmsg(self.contactDB));
}
Но если есть два оператор выбора, то как определить столбец и строку в sqlite3_step
?
Мы можем выполнить два оператора select вместе (например, выбрать * из Employee, выбрать * из отдела) в терминале, так что это должно быть каким-то образом в iOS, я думаю.
Каждое заявление должно быть в двойных кавычках Для экс; const char * sql_stmt = "select 1 .....;" "выбрать 2 .....;" ; –
Вы можете использовать 'sqlite3_exec' и использовать функции обратного вызова. Или, если количество столбцов/тип было одинаковым в двух запросах, вы можете сделать один запрос UNION. Но почему? – Rob
1) Никогда не используйте 'select * from ...'. Всегда явно указывайте столбцы, которые вы хотите выбрать. 2) Почему вы хотите объединить два оператора 'select' вроде этого? Каждый из них возвращает совершенно разные значения. – rmaddy