Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 19:33 11.05.24 
Компютри и Интернет
   >> Бази данни
Всички теми Следваща тема *Кратък преглед

Страници по тази тема: 1 | 2 | >> (покажи всички)
Тема поредни номеранови  
Автор мopaв (непознат)
Публикувано06.01.06 14:52



Как го правите този номер с непрекъснати поредни номера? Главния ключ ми се покачва с 1 за всяко вмъкване и пак нямам поредност понеже като се издъни някоя транзакция и губя този номер! Ползвам sql server 2000.



Тема Re: поредни номеранови [re: мopaв]  
Автор Blandings Castle (Emsworth)
Публикувано07.01.06 09:57



Не ползваш identity а си го организираш сам (например в отделна таблица с броячи(и когато правиш rollback не пипаш брояча.)



Тема Re: поредни номеранови [re: мopaв]  
Автор Dakota (erotoman)
Публикувано09.01.06 18:40



Аз го правя така:

INSERT INTO test (id, name) VALUES ((SELECT COALESCE(MAX(id), 0)+1 FROM test), 'xxx');

Everything louder than everything else...


Тема Re: поредни номеранови [re: мopaв]  
АвторEFEX (Нерегистриран)
Публикувано11.01.06 10:27



Винаги ми малко неестествен то'а въпрос с поредните номера(т.е. доколкото разбирам става въпрос за ID-то на записите).
От моя скромен опит съм стигнал до извода че идеологията на базата данни не изисква стриктно подръжка на поредност при ID-тата.Кво толкова че ще имаш "дупки" в реда на записите....нали като изтриеш някой запис пак се получава фрагментация....
Виж ако гониш някакви други числа за поредност нпр. като кодове на номенклатура и пр. то тогава става сложно...



Тема Re: поредни номеранови [re: EFEX]  
Автор salle (един такъв)
Публикувано11.01.06 14:27



Много често иде реч точно за законово определена поредност.

Я се опитай да обясниш на данъчните, че номерата на фактурите ти не са поредни



Тема Re: поредни номеранови [re: EFEX]  
Авторnea (Нерегистриран)
Публикувано11.01.06 16:41



zitat:"Виж ако гониш някакви други числа за поредност нпр. като кодове на номенклатура и пр. то тогава става сложно... "

hm, tshak tolkova slojno ne e:
predstavi si tshe imash tri Tablizi, napalneni sas danni koito refernzirat sas my_ID, Satzart i Language_ID ot njakade si. I tezi Tablizi vseki den se aktualizirvat.

Dannite ot tezi tri Tablizi vlizat v edna peta Tabliza (posledovatelno) i to vseki den s razlitsni danni i tova na 16 ezika. Ako tu njamash edna porednost na dannite e Chaos.

Za da izbegna tozi Chaos pravja mejdinna stapka (Tab_4):
v Tab_4 slagam Dummy Datensatz, transformiram dannite ot Tabliza_1 i generiram My_ID-ta v Tab_4

(DECLARE @sourceTable sysname
DECLARE @destinationTable sysname
SET @sourceTable = 'I_Verdrahtungsart'
SET @destinationTable = 'PropertyText'

DECLARE @myid int
DECLARE @mySatzArt int

DECLARE mycursor CURSOR FOR
SELECT I_Verdrahtungsart.My_ID, I_Verdrahtungsart.SatzArt
FROM I_Verdrahtungsart, PropertyText
WHERE I_Verdrahtungsart.MY_ID = PropertyText.MY_ID AND I_Verdrahtungsart.SatzArt = PropertyText.SatzArt
Group by I_Verdrahtungsart.My_ID , I_Verdrahtungsart.SatzArt
ORDER BY I_Verdrahtungsart.My_ID

OPEN mycursor

FETCH NEXT FROM mycursor Into @myid,@mySatzArt

WHILE (@@FETCH_STATUS = 0)
Begin
UPDATE PropertyText SET PropertyText_ID=(SELECT max(PropertyText_ID)+1 FROM PropertyText)
WHERE My_ID=@myid AND SatzArt = @mySatzArt AND PropertyText_ID is NULL
FETCH NEXT FROM mycursor Into @myid,@mySatzArt
End

CLOSE mycursor
DEALLOCATE mycursor

GO..)

sega moga vseki update na Tab_4 sas Tab_1, Tab_2, Tab_3 tshisto da izvarsha kato naprimer:

UPDATE PropertyText(Tab_4)

SET PropertyText.Text = I_Verdrahtungsart(Tab_1).Text,
Status = 2,
PropertyText.I_Datum = I_Verdrahtungsart.I_Datum,
PropertyText.I_Status = I_Verdrahtungsart.I_Status

FROM I_Verdrahtungsart RIGHT JOIN PropertyText ON
I_Verdrahtungsart.My_ID = PropertyText.My_ID and PropertyText.Language_ID = I_Verdrahtungsart.Language_ID
WHERE PropertyText.Text <> I_Verdrahtungsart.Text
AND PropertyText.My_ID is NOT Null .......

i sega si palnja Tab_5 ot Tab_4 kato selektiram totshno kakvoto mi trjabva.
oshte dva DTS-Paketa i za drugite dve Tablizi po sashtia natshin (bez dummy Satz).
I vsitshko e tshisto i prilejno.

Moje bi ne e nai elegantnija natshin, no v momenta druga ideja ne mi idva...




Тема Re: поредни номеранови [re: nea]  
АвторEFEX (Нерегистриран)
Публикувано12.01.06 12:58



about: "hm, tshak tolkova slojno ne e:"...

..само некви си 5 таблици и 16 врътки и много внимание...

Майтап..
Няма спор по това което казвате... но аз като един ламер намирам за много глупаво да се връзва номер който ми трябва да е задължително пореден, с ID-то на записа в таблицата....
Все едно номера на колата ми да съвпада с номера на касовата бележка дето съм го платил...



Тема Re: поредни номеранови [re: EFEX]  
Автор salle (един такъв)
Публикувано12.01.06 13:40



Е аз не видях някой да говори за такова съвпадение.

Представи си обаче, че номерата на касовите бележки ги генерираш в транзакция и транзакцията бъде отказана.

Ако номерата на касовите бележки не са поредни данъчните ще ти отрежат главата.



Тема Re: поредни номеранови [re: salle]  
АвторEFEX (Нерегистриран)
Публикувано12.01.06 15:36



Да отрежат главата на Били че чупи транзакциите....






..и топките и топките...провикнал се заспалия администратор на задната седалка...



Тема Re: поредни номеранови [re: EFEX]  
Авторnea (Нерегистриран)
Публикувано12.01.06 16:21



ok , s tozi primer stava vapros za podgotvjane na milion i polovina danni v edna Tabliza, predi izlizaneto im ot SQL- Server, zaradi vlizaneto im v druga objekt orientirana DB.
Pri takiva Dimensioni na danni-transfer strada Performansa, zatova predpotshitam da programiram, no ako stava vapros za 1000 kasovi belejki bich go napravila kakto Blanding Castle (pogledni gore)




Страници по тази тема: 1 | 2 | >> (покажи всички)
Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.