Intent launchIntent = getActivity.getPackageManager().getLaunchIntentForPackage("com.ionicframework.uengage");
startActivity(launchIntent);
Да, SQL может сделать это, но с другим синтаксисом. Кстати, документация sqlite довольно хороша. Он также скажет вам , что единственный способ вставить несколько строк - это использовать оператор выбора в качестве источника данных для вставки.
Sqlite3 can't do that directly in SQL except via a SELECT, and while SELECT can return a "row" of expressions, I know of no way to make it return a phony column.
However, the CLI can do it:
.import FILE TABLE Import data from FILE into TABLE
.separator STRING Change separator used by output mode and .import
$ sqlite3 /tmp/test.db
SQLite version 3.5.9
Enter ".help" for instructions
sqlite> create table abc (a);
sqlite> .import /dev/tty abc
1
2
3
99
^D
sqlite> select * from abc;
1
2
3
99
sqlite>
If you do put a loop around an INSERT, rather than using the CLI .import
command, then be sure to follow the advice in the sqlite FAQ for INSERT speed:
By default, each INSERT statement is its own transaction. But if you surround multiple INSERT statements with BEGIN...COMMIT then all the inserts are grouped into a single transaction. The time needed to commit the transaction is amortized over all the enclosed insert statements and so the time per insert statement is greatly reduced.
Another option is to run PRAGMA synchronous=OFF. This command will cause SQLite to not wait on data to достигнет поверхности диска, что приведет к сделать операции записи кажутся намного быстрее. Но если вы потеряете силу в в середине транзакции ваш файл базы данных может быть поврежден.
According to this page it is not supported:
- 2007-12-03 : Multi-row INSERT a.k.a. compound INSERT not supported.
INSERT INTO table (col1, col2) VALUES
('row1col1', 'row1col2'), ('row2col1', 'row2col2'), ...
Actually, according to the SQL92 standard, a VALUES expression should be able to stand on itself. For example, the following should return a one-column table with three rows:
VALUES 'john', 'mary', 'paul';
As of version 3.7.11 SQLite does support multi-row-insert. Richard Hipp comments:
"The new multi-valued insert is merely syntactic suger (sic) for the compound вставить. Так или иначе нет преимущества в производительности. "
Да, начиная с SQLite 3.7.11 это поддерживается в SQLite. Из документации SQLite :
(когда этот ответ был изначально написан, это не поддерживалось)
Для совместимости со старыми версиями SQLite вы можете использовать прием, предложенный andy и fearless_fool с использованием UNION
, но для версии 3.7.11 и более поздних версий следует предпочесть более простой синтаксис, описанный здесь.
Вы не можете, но я не Не думаю, что ты что-то пропустишь.
Поскольку вы вызываете sqlite всегда в процессе, для производительности почти не имеет значения, выполняете ли вы 1 оператор вставки или 100 операторов вставки. Однако фиксация занимает много времени, поэтому поместите эти 100 вставок в транзакцию.
Sqlite работает намного быстрее, когда вы используете параметризованные запросы (требуется гораздо меньше синтаксического анализа), поэтому я бы не стал объединять такие большие операторы, как этот:
insert into mytable (col1, col2)
select 'a','b'
union
select 'c','d'
union ...
Их нужно анализировать снова и снова, потому что все объединенные операторы отличаются.
Как и другие плакаты Я уже сказал, что SQLite не поддерживает этот синтаксис. Я не знаю, являются ли составные INSERT частью стандарта SQL, но, по моему опыту, они не реализованы во многих продуктах.
, вы должны знать, что производительность INSERT в SQLite значительно улучшается, если вы заключите несколько INSERT в явную транзакцию.
Да, это возможно, но не с обычными значениями вставки, разделенными запятыми.
Попробуйте это ...
insert into myTable (col1,col2)
select aValue as col1,anotherValue as col2
union select moreValue,evenMoreValue
union...
Да, это немного некрасиво, но достаточно просто, чтобы автоматизировать создание оператора из набора значений . Кроме того, похоже, вам нужно только объявить имена столбцов при первом выборе.
Если вы используете SQLite Manager Плагин Firefox , он поддерживает насыпные вставки из вставки
SQL.
Infact Это не поддерживает это, но браузер SQLite делает (работает на Windows, OS X, Linux)
в mysql lite вы не можете вставить несколько значений, но вы можете сэкономить время, открыв соединение только один раз и выполнив все вставки, а затем закрыв соединение. Это экономит много времени