Приемлемые идентификаторы PL/SQL, переменные и соглашения об именах

⚡ Умное резюме

Идентификаторы PL/SQL — это имена, присваиваемые объектам PL/SQL, таким как переменные, константы, курсоры и процедуры. Они должны начинаться с буквы, не превышать 30 символов, нечувствительны к регистру и соответствовать соглашениям об именовании, указывающим на уровень и тип переменной.

  • 🏷️ Определение: Идентификатор — это имя любого объекта PL/SQL, от переменной до пакета или метки.
  • 📏 Правила: Текст должен начинаться с буквы, содержать не более 30 символов и не содержать пробелов.
  • 🔠 Разрешенные знаки: Внутри идентификатора допускаются знаки доллара, подчеркивания и решетки.
  • 🧭 Соглашение об именовании: Первая буква обозначает уровень (P, L, G), а вторая — тип (C, V, N, R, T).
  • 📦 Переменные: Переменная — это идентификатор, привязанный к области хранения, объявленный с допустимым типом данных.
  • ???? Декларация: Переменные объявляются в декларативном разделе перед использованием.
  • ➡️ Назначение: Значение можно установить при объявлении или позже с помощью оператора :=.

Соглашения об именовании идентификаторов PL/SQL

Что такое идентификаторы PL/SQL?

Идентификаторы В PL/SQL это имена, присваиваемые объектам PL/SQL. Объект может быть константой, переменной, исключением, курсором, процедурой, функцией, пакетом, триггером, типом объекта, зарезервированным словом или меткой. Идентификаторы содержат буквы, цифры, знаки, подчеркивания и так далее. Они нечувствительны к регистру и ограничены 30 символами.

Свойства идентификаторов PL/SQL

Вот основные свойства идентификаторов PL/SQL:

  • Начинается с буквы.
  • Максимальный размер ограничен 30 символами.
  • Не может содержать пробелы.
  • Может содержать знак доллара ('$'), знак подчеркивания ('_') и знак решетки ('#').
  • Регистр символов нечувствителен.

Соглашения об именах в PL/SQL

В сложной программе может потребоваться указать множество идентификаторов, таких как переменные и курсоры. Чтобы избежать путаницы и повысить читаемость, необходимо придерживаться определенных правил именования.

В PL/SQL обычно используются следующие соглашения об именовании.

Первая буква указывает на объявленный уровень переменной:

  • 'P' – переменная, объявленная на уровне параметра.
  • 'L' – переменная, объявленная в локальном блоке.
  • 'G' – переменная, объявленная на глобальном уровне.

Вторая буква указывает тип идентификатора:

  • 'C' – идентификатор курсора.
  • 'V' – типы данных VARCHAR и CHAR.
  • 'N' – числовой тип данных.
  • 'Р' - тип записи.
  • «Т» — тип таблицы.

Ниже приведены несколько примеров правильных соглашений об именовании в PL/SQL:

  • Lv_name – локальная переменная типа VARCHAR/CHAR.
  • Pc_num – идентификатор курсора уровня параметра.
  • Gn_user_id – глобальная переменная числовой тип данных.

PL / SQL Переменные

Переменные показатели В PL/SQL базовые идентификаторы присваиваются области хранения, с которой может работать программа. Переменные — это заполнители, в которых пользователь может хранить значения. Перед использованием эти переменные должны быть связаны с допустимым типом данных PL/SQL. Типы данных определяют методы хранения и обработки этих переменных.

Объявление переменной PL/SQL

Переменные в основном используются для хранения данных во время их обработки или манипулирования. Их необходимо объявить перед использованием в декларативном разделе кода. PL/SQL-блоки.

Объявление переменной — это процесс присвоения имени заполнителю и сопоставления его с допустимым типом данных.

Синтаксис

<variable_name> <datatype>;

Приведённый выше синтаксис показывает, как объявить переменную в декларативном разделе.

Хранение данных в переменных PL/SQL

После объявления переменная готова хранить данные определенного типа. Значения могут быть присвоены либо в разделе выполнения, либо во время объявления. Значение может быть литералом или значением другой переменной. После присвоения оно сохраняется в памяти, выделенной для этой переменной.

Синтаксис

<variable_name> <datatype> := <default_value>;

Приведённый выше синтаксис показывает, как объявить переменную и присвоить ей значение в декларативной секции.

<variable_name> <datatype>;
<variable_name> := <value>;

Приведённый выше синтаксис показывает, как присвоить значение уже объявленной переменной.

Пример 1: В этом примере мы научимся объявлять переменную и присваивать ей значение. В следующей программе мы выводим на экран 'GURU99', используя переменные.

Пример объявления и присваивания переменных в PL/SQL

DECLARE
lv_name VARCHAR2(50);
lv_name_2 VARCHAR2(50) := 'GURU99';
BEGIN
lv_name := lv_name_2;
dbms_output.put_line(lv_name);
END;
/

Code объяснение

  • Code строка 2: Объявление переменной 'lv_name' типа VARCHAR2 размером 50.
  • Code строка 3: Объявление переменной 'lv_name_2' типа VARCHAR2 размером 50 и присвоение ей значения по умолчанию с использованием литерала 'GURU99'.
  • Code строка 5: Значение переменной 'lv_name' присваивается из переменной 'lv_name_2'.
  • Code строка 6: Вывод сохраненного значения переменной 'lv_name'.

При выполнении приведенного выше кода вы получите следующий результат.

Результат

ГУРУ99

Часто задаваемые вопросы (FAQ)

Идентификатор должен начинаться с буквы, содержать не более 30 символов, не содержать пробелов и состоять только из букв, цифр и символов доллара, подчеркивания и решетки. Регистр символов не имеет значения.

Префикс позволяет с первого взгляда определить область видимости и тип, поэтому Lv_name читается как локальная переменная типа varchar. В больших блоках это уменьшает путаницу и упрощает сопровождение кода.

Оператор := присваивает значение переменной. Один оператор = используется для сравнения внутри условий. Смешивание их — распространённая ошибка начинающих, приводящая к сбою на этапе компиляции.

Да. Искусственный интеллект может сканировать пакет, отмечать идентификаторы, нарушающие согласованные префиксы, и предлагать переименования. Он также может генерировать согласованные имена для новых переменных на основе их области видимости и типа.

Нет. lv_name и LV_NAME относятся к одному и тому же идентификатору. Регистр чувствителен только к строковым литералам в одинарных кавычках, поэтому соглашение существует для удобства чтения, а не потому, что этого требует компилятор.

Подведем итог этой публикации следующим образом: