Введение в язык SQL запросов к базам данных. Баканов В.М. - 39 стр.

UptoLike

Составители: 

- 39 -
Получено сообщение об ошибке, поскольку сумма нового бюджета, ко-
торую попытались ввести, была слишком велика, чтобы поместиться в
колонку BUDGET, определенную в команде CREATE TABLE как
NUMBER(7,2). Это определение значит, что допускаются числа не больше
чем 99,999.99 (7 цифр, из которых две справа от десятичной точки). Про-
блему можно решить, используя команду ALTER TABLE для увеличения
колонки:
ALTER TABLE PROJ
MODIFY BUDGET NUMBER(8,2);
Также как в команде ALTER TABLE ADD, указывается таблица PROG,
которую надо изменить. В данном примере необходимо модифицировать
определение колонки BUDGET (определить ее размер как NUMBER(8,2)
вместо текущей.
Теперь можно попытаться обновить таблицу снова:
UPDATE PROJ
SET BUDGET = 105000
WHERE PROJNO = 103;
Используем запрос SELECT для уверенности, что обновление действи-
тельно имело место:
SELECT *
FROM PROJ;
PROJNO PNAME BUDJET
101 ALPHA 96,000.00
102 BETA 82,000.00
103 GAMMA 105,000.00
Контрольные вопросы
1. В каких случаях необходимо динамически изменять структуру таблицы?
2. Каков формат SQL-предписаний, осуществляющих динамическое измене-
ние структуры данных?
3. Каким образом пользователь может отслеживать возможные ошибки, воз-
никающие вследствие непродуманного изменения структуры таблиц?
4. Насколько, по Вашему мнению, динамическое изменение структуры таб-
лиц с помощью SQL эффективнее традиционного
подхода (создание новой
таблицы c заданной структурой
копирования в нее содержимого имею-
щейся таблицы
добавление необходимых данных уничтожениеста-
ройтаблицы)?
                                   - 39 -


    Получено сообщение об ошибке, поскольку сумма нового бюджета, ко-
торую попытались ввести, была слишком велика, чтобы поместиться в
колонку BUDGET, определенную в команде CREATE TABLE как
NUMBER(7,2). Это определение значит, что допускаются числа не больше
чем 99,999.99 (7 цифр, из которых две справа от десятичной точки). Про-
блему можно решить, используя команду ALTER TABLE для увеличения
колонки:

  ALTER TABLE PROJ
  MODIFY BUDGET NUMBER(8,2);

    Также как в команде ALTER TABLE ADD, указывается таблица PROG,
которую надо изменить. В данном примере необходимо модифицировать
определение колонки BUDGET (определить ее размер как NUMBER(8,2)
вместо текущей.
    Теперь можно попытаться обновить таблицу снова:

  UPDATE PROJ
  SET BUDGET = 105000
  WHERE PROJNO = 103;

  Используем запрос SELECT для уверенности, что обновление действи-
тельно имело место:

  SELECT *
  FROM PROJ;

   PROJNO          PNAME           BUDJET
     101       ALPHA           96,000.00
     102       BETA            82,000.00
     103       GAMMA           105,000.00

  Контрольные вопросы

1. В каких случаях необходимо динамически изменять структуру таблицы?
2. Каков формат SQL-предписаний, осуществляющих динамическое измене-
   ние структуры данных?
3. Каким образом пользователь может отслеживать возможные ошибки, воз-
   никающие вследствие непродуманного изменения структуры таблиц?
4. Насколько, по Вашему мнению, динамическое изменение структуры таб-
   лиц с помощью SQL эффективнее традиционного подхода (создание новой
   таблицы c заданной структурой → копирования в нее содержимого имею-
   щейся таблицы → добавление необходимых данных → уничтожение ‘ста-
   рой’ таблицы)?