Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
Понадобилось тут создать на MS SQL табличке констрейнт UNIQUE по столбцу, где могут быть пустые значения, но по непустым нужна уникальность и был крайне удивлен, что в отличии от Oracle там это не проходит. NULL там расссматривается как такое же значение как и не пустые, то есть двух пустых быть не может. Но ведь это неправильно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 13:02 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
ага, и select 1 from dual не работает! полный отстой! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 13:33 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
Вам сюда ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 13:42 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
CripВам сюда Это конечно решение, но некрасивое:)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 14:07 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
Кто сказал что множество null в UNIQUE это не правильно??? Может наоборот??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 14:30 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
Хотя да, если об этом написано в документации, то это у MS фича... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 15:57 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
azhukovНо ведь это неправильно! А что есть критерий "правильности" ? Oracle ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 17:38 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
Это правильно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 18:09 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
You cannot create a unique index on a single column if that column contains NULL in more than one row. Similarly, you cannot create a unique index on multiple columns if the combination of columns contains NULL in more than one row. These are treated as duplicate values for indexing purposes. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 18:13 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
GoldБаг (иезуитским шепотом): на самом деле баг в оракуле, который допускает сии заведомо неправильные ситуяции.... а select 1 from dual в mssql работает, стоит только приложить руку.... зато в оракуле не работаит select @@microsoftversion... а вот в сайбейзе работаит... стоит только приложить руку.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 19:58 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
locky GoldБаг (иезуитским шепотом): на самом деле баг в оракуле, который допускает сии заведомо неправильные ситуяции.... а select 1 from dual в mssql работает, стоит только приложить руку.... зато в оракуле не работаит select @@microsoftversion... а вот в сайбейзе работаит... стоит только приложить руку.... И в ASA тоже явный баг, правда очень такой баг всем нравится :) P.S. А в каком Sybase нужно прикладывать руку ? С ASA то все понятно, вешаем на коннект процедуру инициализации, в которой создаем глобальную переменную @@microsoftversion, в которую пишем "Microsoft SQL Server 2005 Final", чтобы все сессии радовались. А разве в других СУБД Sybase это возможно ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 20:08 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
2ASCRUS ну, насчет Сайбейза я не сумлевался - всё-ж таки братья идеологически когда-то единоутробные. А вот насчет какого сайбейза я говорил - дык Вам виднее, Вы у нас спец по ним. Но то что в каком-то точно можно было - я помнил четко (и жутко завидовал) p.s. кста, @@microsoftversion - int. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 20:31 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
Один1 А что есть критерий "правильности" ? Oracle ? Почему нет? Если нужно чтобы null не допускался, можно наложить сответствующее ограничение целостности на значение. А уникальность кроме пустых значений имеет смысл в некоторых случаях в РМД. Например, есть страховой персональный номер. Он уникальный по стране. Но в момент прихода на предприятие его у некоторых нет. Потому нужна и уникальность на тех у кого есть (чтобы не засандалили одного и того же несколько раз или не дали один и тот же нескольким.), и допуск пустых значений для тех у кого нет. Последних обычно не много, и с ними ошибка менее вероятна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 20:59 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
2 azhukov >NULL там расссматривается как такое же значение как и не пустые, то есть двух пустых быть не может. Но ведь это неправильно! Это как раз правильно, если не ошибаюсь так написано в стандарте. По-моему это действительно очень удобно, но к сожалению почти все пошли другим путем. 2 locky >ну, насчет Сайбейза я не сумлевался - всё-ж таки братья идеологически когда-то единоутробные. Сайбейз ASA к мелкософту не имеет отношения. Это ASE родственник мелкомягкому. ASE тоже вроде бы поддерживает много NULL-ов в UNIQUE полях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 02:20 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
c1272 azhukov >NULL там расссматривается как такое же значение как и не пустые, то есть двух пустых быть не может. Но ведь это неправильно! Это как раз правильно, если не ошибаюсь так написано в стандарте. По-моему это действительно очень удобно, но к сожалению почти все пошли другим путем. 2 locky >ну, насчет Сайбейза я не сумлевался - всё-ж таки братья идеологически когда-то единоутробные. Сайбейз ASA к мелкософту не имеет отношения. Это ASE родственник мелкомягкому. ASE тоже вроде бы поддерживает много NULL-ов в UNIQUE полях. А мне казалось, что в стандарте написано, что выражение NULL=NULL, также как NULL<>NULL ложно, и следовательно в уникальном столбце может быть сколько угодно пустых значений, если только это не первичный ключ. Где написано, то что Вы говорите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 08:59 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
azhukovА мне казалось, что в стандарте написано, что выражение NULL=NULL, также как NULL<>NULL ложно, и следовательно в уникальном столбце может быть сколько угодно пустых значений, если только это не первичный ключ. Ваше утверждение неверно, так уникальными, называются элементы, каждый из которых отличен от других. Если элементы несравнимы, то нельзя вести речь о том, что они уникальны. Они одинаковы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 09:17 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
www.fun4me.narod.ruЕсли элементы несравнимы, то нельзя вести речь о том, что они уникальны. Они одинаковы. Несколько спорное утверждение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 16:00 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
Estets www.fun4me.narod.ruЕсли элементы несравнимы, то нельзя вести речь о том, что они уникальны. Они одинаковы. Несколько спорное утверждение. И чем же отличается один NULL от другого? Я не говорю о том, что два NULL равны. Но (NULL<>NULL) != true. Уникальность - это не остутствие равенства. Это наличие отличий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 16:10 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
может проголосуем? )) Sybase,MS SQL,DB2 - на одной стороне Oracle,PostgreSQL,MySQL - на другой Как интересно у INFORMIX и как у INTERBASE? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 16:36 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
azhukov NULL=NULL, также как NULL<>NULL ложно В Оракле (и я думаю не тока в нем) трехзначная логика. И, в частности, оба эти выражения не истинны и не ложны, а неизвестны (третье значение). Сам Кодд был приверженцем четырехзначной. И четвертое значение интерпретировалось - не опреденлено. И в таком аспектке можно считать, что NULL не противоречит термину уникальность. Там просто данных нет и потому операции сравнения бессмысленны. Можно тока проверить что значения нет (IS NULL). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 17:21 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
gardenmanможет проголосуем? )) Sybase,MS SQL,DB2 - на одной стороне Oracle,PostgreSQL,MySQL - на другой Как интересно у INFORMIX и как у INTERBASE? Sybase со всех сторон - ASE в лагерь MSSQL, ASA в лагерь Oracle :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 17:28 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
ASCRUS gardenmanможет проголосуем? )) Sybase,MS SQL,DB2 - на одной стороне Oracle,PostgreSQL,MySQL - на другой Как интересно у INFORMIX и как у INTERBASE? Sybase со всех сторон - ASE в лагерь MSSQL, ASA в лагерь Oracle :) А Sybase IQ? посередине? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 17:34 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
gardenman ASCRUS gardenmanможет проголосуем? )) Sybase,MS SQL,DB2 - на одной стороне Oracle,PostgreSQL,MySQL - на другой Как интересно у INFORMIX и как у INTERBASE? Sybase со всех сторон - ASE в лагерь MSSQL, ASA в лагерь Oracle :) А Sybase IQ? посередине? Sybase IQ как и полагается аналитическому серваку естественно сверху ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 18:39 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=33109938&tid=1553723]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 181ms |
| total: | 288ms |

| 0 / 0 |
