[MSSQL 2000] Wstawianie Lp do tabeli
Krzysztof Wiśniewski - 02-01-2006 12:07
[MSSQL 2000] Wstawianie Lp do tabeli Załóżmy, że mam taką procedurę:
INSERT INTO dbo.TabelaDocelowa (Lp, Pole1, Pole2, Pole3) SELECT 0, Pole1, Pole2, Pole3 FROM dbo.TabelaZrodlowa WHERE ...
W jaki sposób w pole "Lp" tabeli docelowej zamiast zera wstawić kolejne liczby całkowite, rozpoczynając się od Lp = 1?
-- Pozdrawiam, Krzysiek
Sebastian - 02-01-2006 12:07
> Załóżmy, że mam taką procedurę: > > INSERT INTO dbo.TabelaDocelowa > (Lp, Pole1, Pole2, Pole3) > SELECT > 0, Pole1, Pole2, Pole3 > FROM dbo.TabelaZrodlowa > WHERE ... > > W jaki sposób w pole "Lp" tabeli docelowej zamiast zera wstawić kolejne > liczby całkowite, rozpoczynając się od Lp = 1?
Poczytaj o IDENTITY
Sebastian
Krzysztof Wiśniewski - 02-01-2006 12:07
Użytkownik "Sebastian" <sfilinowiczUSUN_TEN_TEKST@magma-net.pl> napisał w wiadomości news:dp96k0$3n3$1@bandai.magma-net.pl... | | > Załóżmy, że mam taką procedurę: | > | > INSERT INTO dbo.TabelaDocelowa | > (Lp, Pole1, Pole2, Pole3) | > SELECT | > 0, Pole1, Pole2, Pole3 | > FROM dbo.TabelaZrodlowa | > WHERE ... | > | > W jaki sposób w pole "Lp" tabeli docelowej zamiast zera wstawić kolejne | > liczby całkowite, rozpoczynając się od Lp = 1? | | Poczytaj o IDENTITY |
Wiem co to IDENTITY :)
Kolumna do której potrzebuję wstawić Lp nie może być unikalna w skali całej tabeli, więc IDENTITY odpada.
Załóżmy, że procedura ma wstawić rekordy do tabeli przechowującej elementy danego zamówienia. Kolumna Lp określa kolejność ich występowania na danym zamówieniu, więc powinny się nadać kolejno wartości 1, 2, 3 itd. Juzer będzie je mógł zmienić w aplikacji na własne.
W innym zamówieniu też będą pozycje ponumerowane 1, 2, 3. Dlatego musi być to zwykłe, nieunikalne pole liczbowe.
Pozdrawiam, Krzysiek
keczerad - 02-01-2006 12:07
Krzysztof Wiśniewski napisał(a):
> Załóżmy, że procedura ma wstawić rekordy do tabeli przechowującej elementy > danego zamówienia. Kolumna Lp określa kolejność ich występowania na danym > zamówieniu, więc powinny się nadać kolejno wartości 1, 2, 3 itd. Juzer > będzie je mógł zmienić w aplikacji na własne. >
wiec wstawiaj to podzapytaniem
@kursor Begin SET @LP = (SELECT MAX(LP)+1 from tablica Where id_zamowienia=2)
Insert INTO .....(@LP)
END
--
keczerad
http://www.e-mo.com.pl sklep w (X)HTML
fReLuZ - 02-01-2006 12:07
Albo triggerem.
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Zdalny =?ISO-8859-2?Q?dost=EAp_do_MSSQL_bez_zarz=B1dzani?==?ISO-8859-2?Q?a?=
[MSSQL] =?ISO-8859-2?Q?zgodno=B6ci_z_licencjami_Microsoft_?==?ISO-8859-2?Q?SQL_Server?=
[MSSQL 2k] - jak =?ISO-8859-2?Q?pod=B3=B1czy=E6_serwer_na_?==?ISO-8859-2?Q?porcie_innym_ni=BF_1433=3F?=
MSSQL Express czy Oracle Express
MSSQL 2005 i uruchamianie procedury o =?ISO-8859-2?Q?okre=B6lone?==?ISO-8859-2?Q?j_godzinie?=
[MSSQL] ACCESS - SQL =?ISO-8859-2?Q?B=B3ad_w_konwersji_lic?==?ISO-8859-2?Q?zb?=
[MSSQL 2K] =?ISO-8859-2?Q?Wp=B3yw_ustawie=F1_regionalnych_?==?ISO-8859-2?Q?serwera_na_zapytania?=
Pobierananie danych z innej bazy danych w MSSQL
Migracja MSSQL 2005 CTP na 2005 Express
MSSQL , funkcja pobierajaca sama date (bez czasu) w funkcji
zanotowane.pldoc.pisz.plpdf.pisz.plnocnerozmowy.xlx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|