Что я рекомендую: (Это работает для меня после многих дней с ошибками)
-Убедитесь, что вы скачали:
- the Lastest SDK Platform from the latest Android version
- Android Suppor Librarie and Repository from EXTRAS
-Загрузите ADT
-Сделайте защитную копию вашего проекта.
- У вас должны быть ADT, рабочая область и проект, который мы будем импортировать на одном диске (например, C: /)
Теперь удалите приложение Compat и ваш проект.
В eclipse: Файл> Импорт> Существующий проект Android> Далее> Обзор (папка, в которой находится ADT) / sdk / extras / android / v7 / appcompat> Импорт> Готово
Теперь в обозревателе пакетов eclipse: android-support-v7-appcompat / libs / Make на двух JARS: Щелкните правой кнопкой мыши> Путь сборки> Добавить в путь сборки
Щелкните правой кнопкой мыши libs / folder> Buil Path> Configure Build Path и отметьте эти два JARS> OK
На верхней панели затмений> Project> Clean
Импорт проекта> Файл> Импорт> Просмотр проекта> Готово
Теперь щелкните правой кнопкой мыши файл проекта и android-support-v7-appcompat> Свойства> Android> и выберите последний отображаемый API> OK
Щелкните правой кнопкой мыши файл проекта> Свойства> Android> Добавить> android-support-v7-appcompat
На верхней панели затмения> Проект> Очистить
Предложение RETURNING
поддерживает синтаксис BULK COLLECT INTO . Рассмотрим (10g):
SQL> CREATE TABLE t (ID NUMBER);
Table created
SQL> INSERT INTO t (SELECT ROWNUM FROM dual CONNECT BY LEVEL <= 5);
5 rows inserted
SQL> DECLARE
2 TYPE tab_rowid IS TABLE OF ROWID;
3 l_r tab_rowid;
4 BEGIN
5 UPDATE t SET ID = ID * 2
6 RETURNING ROWID BULK COLLECT INTO l_r;
7 FOR i IN 1 .. l_r.count LOOP
8 dbms_output.put_line(l_r(i));
9 END LOOP;
10 END;
11 /
AADcriAALAAAAdgAAA
AADcriAALAAAAdgAAB
AADcriAALAAAAdgAAC
AADcriAALAAAAdgAAD
AADcriAALAAAAdgAAE
Он работает с многострочным UPDATE
и DELETE
с моей версией (10.2.0.3.0), но НЕ с ] INSERT
:
SQL> DECLARE
2 TYPE tab_rowid IS TABLE OF ROWID;
3 l_r tab_rowid;
4 BEGIN
5 INSERT INTO t (SELECT ROWNUM FROM dual CONNECT BY LEVEL <= 5)
6 RETURNING ROWID BULK COLLECT INTO l_r;
7 FOR i IN 1 .. l_r.count LOOP
8 dbms_output.put_line(l_r(i));
9 END LOOP;
10 END;
11 /
ORA-06550: line 7, column 5:
PL/SQL: ORA-00933: SQL command not properly ended
Может быть, у вас более новая версия (11g?) И BULK COLLECT INTO
поддерживается для многострочных INSERT
?
Может, я не понимаю вопроса, но разве это не поможет? (вы должны знать, что вы хотите вернуть)
INSERT INTO some_table (...)
VALUES (...)
RETURNING some_column_a, some_column_b, some_column_c, ... INTO :out_a, :out_b, :out_c, ...
@Vincent, возвращающий массовую сборку для многострочной вставки, работает только в сочетании с forall (другими словами, если вы вставляете из коллекции, вы можете получать «результаты» в другую)