powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / помогите плиз с апдейтом
12 сообщений из 12, страница 1 из 1
помогите плиз с апдейтом
    #39255427
hromis_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица
Код: plsql
1.
2.
3.
4.
5.
6.
create table test

( v1_id              NUMBER(4) not null,
  v2_id              NUMBER(10) not null,
  name               VARCHAR2(100) not null
);


Проадейтится ли таблица таким образом?
Если не указывать поле name?
Или надо сверху проверку навесить?

Код: plsql
1.
2.
3.
4.
5.
6.
7.
create or replace procedure up_test(v1_id in number, 
				                       v2_id in number) is
begin
  update test
  set v1_id = v1_id
  where v2_id = v2_id;
end up_test;
...
Рейтинг: 0 / 0
помогите плиз с апдейтом
    #39255428
hromis_k,

о-га, проапдейтятся абсолютно все строки таблицы. причем, полям v1_id будут переприсвоены их же значения.
...
Рейтинг: 0 / 0
помогите плиз с апдейтом
    #39255431
hromis_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эхhromis_k,

о-га, проапдейтятся абсолютно все строки таблицы. причем, полям v1_id будут переприсвоены их же значения.

Т.е. надо написать

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
create or replace procedure up_test(v1_id in number, 
				                       v2_id in number) is
begin
if name is not null then              
  update test
  set v1_id = v1_id
  where v2_id = v2_id;
end if;
end up_test;



Или при вызове процедуры сделать эту проверку? А что делать с v2_id?
Что-то я запутался.
Задача-то проапдейтить таблицу.
...
Рейтинг: 0 / 0
помогите плиз с апдейтом
    #39255439
hromis_kТ.е. надо написать теперь проапдейтятся ВСЕ строки, где name is not null. это уже лучше, но, думаю, всё равно не то, что тебе нужно.
...
Рейтинг: 0 / 0
помогите плиз с апдейтом
    #39255441
Добрый Э - Эхhromis_kТ.е. надо написать теперь проапдейтятся ВСЕ строки, где name is not null. это уже лучше, но, думаю, всё равно не то, что тебе нужно.а с учетом того, что NAME у тебя объявлено как NOT NULL поле, то опять таки - под апдейт попадут абсолютно все строки таблицы.
...
Рейтинг: 0 / 0
помогите плиз с апдейтом
    #39255442
hromis_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эх,
приходит мысль использовать что-то тпиа...

Код: plsql
1.
where v2_id = v2_row.id;



но с not null все равно непнятно пока... Так апдейтится, если стоит жесткое условие. ошибки не будет?
...
Рейтинг: 0 / 0
помогите плиз с апдейтом
    #39255445
роден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hromis_kприходит мысльсколько книг по plsql ты прочитал?
...
Рейтинг: 0 / 0
помогите плиз с апдейтом
    #39255463
Фотография Павел Воронцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hromis_kДобрый Э - Эхhromis_k,

о-га, проапдейтятся абсолютно все строки таблицы. причем, полям v1_id будут переприсвоены их же значения.

Т.е. надо написать

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
create or replace procedure up_test(v1_id in number, 
				                       v2_id in number) is
begin
if name is not null then              
  update test
  set v1_id = v1_id
  where v2_id = v2_id;
end if;
end up_test;




Или при вызове процедуры сделать эту проверку? А что делать с v2_id?
Что-то я запутался.
Задача-то проапдейтить таблицу.А это вообще не скомпилируется.
...
Рейтинг: 0 / 0
помогите плиз с апдейтом
    #39255470
Павел ВоронцовА это вообще не скомпилируется.не факт.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
...

begin 
   if name is not null then 
      dbms_output.put_line('not null');
   end if;
end;
/

not null
...
Рейтинг: 0 / 0
помогите плиз с апдейтом
    #39255484
Фотография Павел Воронцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
фактоложество,

То, что было приведено, не компилится. Ваше кокетливое многоточие не канает. :-)
...
Рейтинг: 0 / 0
помогите плиз с апдейтом
    #39255492
hromis_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
роденhromis_kприходит мысльсколько книг по plsql ты прочитал?

Т.Кайта читаю, я еще только начал изучение, курсы прохожу, а без базы, где можно откомпилить, сложно по бумажке задачи решать
...
Рейтинг: 0 / 0
помогите плиз с апдейтом
    #39255584
452SQL77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hromis_k,

Никогда не называйте параметры и переменные процедур также, как поля таблиц, с которыми Вы работаете - Oracle в запросах будет считать, что работает с полями таблицы, а не с параметрами.
Сам из-за этого потерял массу времени при отладке кода.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / помогите плиз с апдейтом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]