Что означает "2" в SQL * Plus?

Я новичок в Oracle. И я столкнулся с проблемой.

Во-первых, я хочу проверить привилегии учетной записи sysman:

SQL>  select * from dba_sys_privs where grantee='sysman';

no rows selected

Я знаю, что это означает, что в моем представлении нет содержимого dba_sys_privs. Но в любом случае, я создал базу данных. Итак, я попробую еще раз, просто сократив утверждение:

SQL>  select * from dba_sys_privs
  2

Итак, вот мои два вопроса:

  • Что случилось с моей базой данных? Я уже создал базу данных
  • Что означает "2"? Означает ли это следующую строку или что-то еще?

Ответ 1

Вы ввели новый строковый символ (нажал return) без ввода терминации оператора, т.е. ;. Сравните свое второе выражение с первым, которое вы разместили. Так что да, 2 означает, что клиент ожидает дальнейшего ввода.

Чтобы запустить второй оператор, просто введите косую черту /


Что касается того, почему ваш первый оператор не возвратил никаких строк, в Oracle имена объектов базы данных (включая пользователей) находятся в верхнем регистре.

select * from dba_sys_privs where grantee='SYSMAN';