Главная страница


su.dbms

 
 - SU.DBMS ----------------------------------------------------------------------
 From : Tengiz Kharatishvili                 2:5020/400     08 Jun 2001  06:53:46
 To : All
 Subject : Re: Informix ?
 -------------------------------------------------------------------------------- 
 
 "Fedor 'Cruger' Tersin"
 <Fedor.\'Cruger\'.Tersin@p139.f794.n5020.z2.fidonet.org> wrote in message
 news:2211448725@p139.f794.n5020.z2.ftn...
 
 > Ты вырезал полезную штуку:
 > > TK>     return coalesce((select  max(pk) from x), 0) + 1
 > >Hадо думать, там же еще новых записей нет.
 > Именно поэтому значения там и совпадают, разве нет? Ведь сначала готовится
 > пачка записей, при этом вычисляются дефаултные значения, и только потом
 
 она
 
 > вставляется в таблицу. Поэтому запрос работает на немодифицированной
 
 таблице,
 
 > там неоткуда взяться новым значениям.
 >
 
 Пардон, я неправильно понял исходную реплику. И, согласен, пример с ошибкой.
 Хотя проблема была несколько глубже, чем просто немодифицированная таблица.
 Мне следовало бы уточнить, что изменилось перед окончательным выходом 2000
 со времён не помню уже какой беты, однако там дело обстояло именно так:
 перед выполнением пачки вставок значения по умолчанию вычислялись один раз
 на пачку, соответственно это для генерации ключей не годилось. Hа что я и
 пытался обратить внимание публики.
 
 К моему удивлению, в релизе 2000 это уже оказалось не так. Вот ещё один
 маленький и предельно упрощённый эксперимент, который показывает, теперь для
 генерации ключей функции, подвязанные к defaults, вполне можно использовать:
 
 use tempdb
 go
 
 drop table pk
 drop table x
 drop function dbo.seq
 go
 
 create table pk (pk int)
 insert pk values(0)
 go
 
 create function seq() returns int as begin
  exec master..xp_cmdshell 'osql -E -Q"update tempdb..pk set pk = pk + 1"'
  return (select pk from pk)
 end
 go
 
 create table x (
  pk int default(dbo.seq()),
  data char(1)
 )
 go
 
 insert x (data)
 select 'A' union all
 select 'B' union all
 select 'C'
 
 select * from x
 
 =============
 
 (1 row(s) affected)
 
 (3 row(s) affected)
 
 pk          data
 ----------- ----
 1           A
 2           B
 3           C
 
 (3 row(s) affected)
 Спасибо, Fedor 'Cruger' Tersin, за замечание.
 
 Cheers.
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Hа: Informix ?   Sergey Practh   31 May 2001 16:10:08 
 Hа: Informix ?   Fedor \'Cruger\' Tersin   31 May 2001 17:43:38 
 Hа: Informix ?   Sergey Practh   31 May 2001 20:30:44 
 Hа: Informix ?   Fedor \'Cruger\' Tersin   01 Jun 2001 00:30:24 
 Hа: Informix ?   Sergey Practh   01 Jun 2001 16:11:30 
 Hа: Informix ?   Fedor \'Cruger\' Tersin   01 Jun 2001 17:24:00 
 Hа: Informix ?   Sergey Practh   01 Jun 2001 19:48:13 
 Re: Informix ?   Tengiz Kharatishvili   02 Jun 2001 07:03:25 
 Informix ?   Fedor \'Cruger\' Tersin   04 Jun 2001 12:53:57 
 Hа: Informix ?   Sergey Practh   04 Jun 2001 17:24:10 
 Hа: Informix ?   Fedor \'Cruger\' Tersin   05 Jun 2001 09:52:16 
 Hа: Informix ?   Sergey Practh   05 Jun 2001 21:14:36 
 Hа: Informix ?   Fedor \'Cruger\' Tersin   08 Jun 2001 01:20:57 
 Hа: Informix ?   Sergey Practh   09 Jun 2001 11:08:55 
 Hа: Informix ?   Fedor \'Cruger\' Tersin   09 Jun 2001 14:00:01 
 Re: Hа: Informix   Alex Oshev   05 Jun 2001 07:27:36 
 Hа: Hа: Informix   Sergey Practh   05 Jun 2001 09:16:41 
 Re:   Andrew Lesnichenko   05 Jun 2001 09:28:48 
 Hа: Re:   Sergey Practh   05 Jun 2001 11:21:29 
 Re:   Andrew Lesnichenko   05 Jun 2001 12:14:42 
 Hа: Re:   Sergey Practh   05 Jun 2001 14:23:31 
 Re:   Andrew Lesnichenko   05 Jun 2001 14:33:44 
 Re: Hа: Informix   Ilya Zvyagin   05 Jun 2001 10:13:47 
 Hа: Hа: Informix   Sergey Practh   05 Jun 2001 11:41:54 
 Re: Hа: Informix   Vladimir Pavlikov   05 Jun 2001 15:16:27 
 Hа: Hа: Informix   Sergey Practh   05 Jun 2001 21:14:37 
 Re: Hа: Informix   Vladimir Pavlikov   06 Jun 2001 16:05:52 
 Hа: Hа: Informix   Sergey Practh   07 Jun 2001 00:13:49 
 Re: Hа: Informix   Vladimir Pavlikov   07 Jun 2001 15:10:40 
 Hа: Hа: Informix   Fedor \'Cruger\' Tersin   05 Jun 2001 16:21:40 
 Hа: Hа: Informix   Sergey Practh   05 Jun 2001 21:14:37 
 Hа: Hа: Informix   Andrew V. Panskikh   06 Jun 2001 09:36:31 
 Hа: Hа: Informix   Sergey Practh   06 Jun 2001 13:51:16 
 Hа: Hа: Informix   Andrew V. Panskikh   07 Jun 2001 09:25:14 
 Re: Hа: Informix   Vladimir Pavlikov   07 Jun 2001 17:04:58 
 Re: Informix ?   Tengiz Kharatishvili   05 Jun 2001 04:26:29 
 Re: Informix ?   Ilya Zvyagin   05 Jun 2001 10:01:25 
 Re: Informix ?   Fedor \'Cruger\' Tersin   05 Jun 2001 16:15:35 
 Re: Informix ?   Tengiz Kharatishvili   06 Jun 2001 06:27:33 
 Informix ?   Fedor \'Cruger\' Tersin   08 Jun 2001 01:28:57 
 Re: Informix ?   Tengiz Kharatishvili   08 Jun 2001 06:53:46 
 Informix ?   Fedor \'Cruger\' Tersin   09 Jun 2001 01:46:35 
 Re: Informix ?   Ilya Zvyagin   06 Jun 2001 12:19:46 
 Informix ?   Fedor \'Cruger\' Tersin   08 Jun 2001 01:36:03 
 Hа: Informix ?   Dmitry Shykhman   05 Jun 2001 23:05:53 
 Hа: Informix ?   Sergey Practh   07 Jun 2001 00:17:53 
 Re: Informix ?   Ilya Zvyagin   07 Jun 2001 12:02:30 
 Hа: Informix ?   Sergey Practh   07 Jun 2001 13:36:27 
 Re: Informix ?   Ilya Zvyagin   07 Jun 2001 18:59:25 
 Hа: Informix ?   Sergey Practh   08 Jun 2001 20:52:34 
 Hа: Informix ?   Fedor \'Cruger\' Tersin   08 Jun 2001 01:55:48 
 Re: Informix ?   Ilya Zvyagin   08 Jun 2001 10:45:38 
 Re: Informix ?   Vladimir Pavlikov   08 Jun 2001 13:26:22 
 Re: Informix ?   Ilya Zvyagin   08 Jun 2001 21:27:00 
 Re: Informix ?   Vladimir Pavlikov   13 Jun 2001 16:25:45 
 Re: Informix ?   Ilya Zvyagin   14 Jun 2001 19:24:14 
 Re: Informix ?   Vladimir Pavlikov   15 Jun 2001 13:14:56 
 Re: Informix ?   Ilya Zvyagin   18 Jun 2001 10:07:54 
 Re: Informix ?   Vladimir Pavlikov   18 Jun 2001 15:21:59 
 Re: Informix ?   Ilya Zvyagin   18 Jun 2001 20:08:32 
 Re: Informix ?   Vladimir Pavlikov   19 Jun 2001 15:02:43 
 Hа: Informix ?   Sergey Practh   09 Jun 2001 11:08:55 
 Hа: Informix ?   Fedor \'Cruger\' Tersin   09 Jun 2001 18:28:01 
 Re: Informix ?   Lilya A. Kozlenko   13 Jun 2001 12:37:24 
 Re: Informix ?   Vladimir Pavlikov   13 Jun 2001 16:25:46 
 Informix ?   Victor V. Metelitsa   09 Jun 2001 11:43:13 
 Re: Informix ?   Vladimir Pavlikov   13 Jun 2001 16:25:45 
 Re: Informix ?   Tolik Tentser   12 Jun 2001 12:44:29 
 Re: Informix ?   Vladimir Pavlikov   13 Jun 2001 16:25:47 
 Re: Informix ?   Tolik Tentser   13 Jun 2001 19:58:41 
 Re: Informix ?   Vladimir Pavlikov   13 Jun 2001 20:17:01 
 Informix ?   Fedor \'Cruger\' Tersin   09 Jun 2001 01:50:06 
 Hа: Informix ?   Dmitry Shykhman   12 Jun 2001 22:43:31 
 Re: Hа: Informix ?   Constantin Svintsoff   04 Jun 2001 09:38:36 
 Hа: Hа: Informix ?   Sergey Practh   04 Jun 2001 12:58:42 
Архивное /su.dbms/6577672908f3.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional