Sql pl select into: PL/SQL SELECT INTO Statement By Practice Examples
Содержание
sql — SELECT INTO с использованием Oracle
спросил
Изменено
12 месяцев назад
Просмотрено
439 тысяч раз
Я пытаюсь выполнить SELECT INTO с помощью Oracle. Мой запрос:
SELECT * INTO new_table FROM old_table;
Но я получаю следующую ошибку:
Ошибка SQL: ORA-00905: отсутствует ключевое слово 00905. 00000 - "отсутствует ключевое слово"
Есть идеи, что не так?
Стандартное поведение вышеизложенного должно быть таким, как я изначально думал:
Однако Oracle реализовал это совершенно по-другому на своем диалекте SQL.
Документы Oracle при вставке… Выберите
- sql
- oracle
- ora-00905
1
Если NEW_TABLE уже существует, то . ..
вставить в новую_таблицу выберите * из old_table /
Если вы хотите создать NEW_TABLE на основе записей в OLD_TABLE…
создайте таблицу new_table как выберите * из old_table /
Если целью является создание новой, но пустой таблицы, используйте предложение WHERE с условием, которое никогда не может быть истинным:
создать таблицу new_table как выберите * из old_table где 1 = 2 /
Помните, что CREATE TABLE … AS SELECT создает только таблицу с той же проекцией, что и исходная таблица. В новой таблице нет ограничений, триггеров или индексов, которые могли бы быть в исходной таблице. Их по-прежнему необходимо добавлять вручную (если они требуются).
1
выбор в
используется в pl/sql для установки переменной в значения поля. Вместо этого используйте
создать таблицу new_table как select * from old_table
5
Использование:
создать таблицу new_table_name как выберите имя_столбца,[больше столбцов] из Existed_table;
Пример:
создать отдел таблицы как выберите empno, переименуйте от emp;
Если таблица уже существует:
вставить в новое_имя_таблицы выбрать список_столбцов из существующей_таблицы;
Попробуйте использовать приведенный ниже оператор вместо использования select into в оракуле:
select * from(select * from table1) table2 ;
1
Зарегистрируйтесь или войдите
Зарегистрироваться через Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя адрес электронной почты и пароль
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
plsql — выбор Oracle PL/SQL в переменные
спросил
Изменено
9 лет, 3 месяца назад
Просмотрено
24 тысячи раз
Я пытаюсь выполнить следующий запрос в SQL Developer, но получаю сообщение об ошибке. Я пытаюсь объявить две локальные переменные (var_num1 и payDate), а затем установить переменные. Кто-нибудь знает, что я могу делать неправильно? Я знаю, что Oracle SQL немного отличается от SQL Server.
ЗАЯВИТЬ номер var_num1; Дата выплаты; НАЧИНАТЬ var_num1 := 100; payDate := '1.10.2013' НАЧИНАТЬ SELECT * FROM Paycode WHERE PaycodeID = var_num1 and PaycodeDate = payDate; Конец; КОНЕЦ;
Отчет об ошибке: ORA-06550: строка 6, столбец 2: PLS-00428: в этом операторе SELECT ожидается предложение INTO. 06550. 00000 - "строка %s, столбец %s:\n%s" *Причина: обычно ошибка компиляции PL/SQL. *Действие:
- оракул
- plsql
- синтаксическая ошибка
1
Вы не можете использовать SELECT без предложения INTO в PL/SQL. Вывод SELECT должен где-то храниться. Например. таблица или переменная или, возможно, запись. См. пример ниже, как сохранить результат оператора SELECT в запись.