[MSSQL] select into zmienna
Kurciok - 03-04-2007 00:07
[MSSQL] select into zmienna
mam procedurę:
create procedure dbo.get @uid uniqueidentifier, @co int out, @su int out as begin select count(*), sum(cena) from ShopCart end
chciałbym aby count(*) i sum(cena) wylądowało w @co i @su ale jak próbuje zrobić
select @co=count(*), @su=sum(cena) from ShopCart
to dostaje komunikat: select statment that assings a value to a variable must be combined with data-retrieval operations. Wiem co co chodzi ale nie wiem dlaczego taki komunikat przeciez to polecenie zwraca tylko jeden wiersz.
zrobiłem też polecenie:
select @su=sum(cena) from shopcart group by(cena)
i odpala się bez błędu. Chciałbym jednak jakieś polecenie którym bym mógł ustawić @su i @co za jednym razem.
Adam =?iso-8859-2?Q?Wi=B6niecki?= - 03-04-2007 00:07
On 2007-04-02, Kurciok <kurciok@poczta.BEZSPAMUonet.pl> wrote: > mam procedurę: > > create procedure dbo.get > @uid uniqueidentifier, > @co int out, > @su int out > as > begin > select count(*), sum(cena) > from ShopCart > end > > chciałbym aby count(*) i sum(cena) wylądowało w @co i @su ale jak próbuje > zrobić
DECLARE cr CURSOR LOCAL FAST_FORWARD READ_ONLY FOR SELECT count(*), SUM(cena) FROM ShopCart;
FETCH NEXT FROM cr INTO @co, @su;
PS. Czytanie BOL nie boli :)
-- Adam Wiśniecki
Sylwester Lewandowski - 03-04-2007 00:07
Kurciok napisał(a): > mam procedurę: > > create procedure dbo.get > @uid uniqueidentifier, > @co int out, > @su int out > as > begin > select count(*), sum(cena) > from ShopCart > end > > chciałbym aby count(*) i sum(cena) wylądowało w @co i @su ale jak próbuje > zrobić > > select @co=count(*), @su=sum(cena) > from ShopCart > > to dostaje komunikat: select statment that assings a value to a variable > must be combined with data-retrieval operations. Wiem co co chodzi ale nie > wiem dlaczego taki komunikat przeciez to polecenie zwraca tylko jeden > wiersz. > > zrobiłem też polecenie: > > select @su=sum(cena) > from shopcart > group by(cena) > > > i odpala się bez błędu. Chciałbym jednak jakieś polecenie którym bym mógł > ustawić @su i @co za jednym razem. > > > DECLARE @i INT, @j INT;
SELECT @i = (SELECT COUNT(*) FROM dbo.test_table), @j = (SELECT SUM(test_value) FROM dbo.test_table)
SELECT @i,@j
nicmituniepisać - 03-04-2007 00:07
Użytkownik "Kurciok" <kurciok@poczta.BEZSPAMUonet.pl> napisał w wiadomości news:euqnas$chq$1@atlantis.news.tpi.pl... > mam procedurę: > > create procedure dbo.get > @uid uniqueidentifier, > @co int out, > @su int out > as > begin > select count(*), sum(cena) > from ShopCart > end > > chciałbym aby count(*) i sum(cena) wylądowało w @co i @su ale jak próbuje > zrobić > > select @co=count(*), @su=sum(cena) > from ShopCart > > to dostaje komunikat: select statment that assings a value to a variable > must be combined with data-retrieval operations. Wiem co co chodzi ale nie > wiem dlaczego taki komunikat przeciez to polecenie zwraca tylko jeden > wiersz. > > zrobiłem też polecenie: > > select @su=sum(cena) > from shopcart > group by(cena) > > > i odpala się bez błędu. Chciałbym jednak jakieś polecenie którym bym mógł > ustawić @su i @co za jednym razem. > > >
Raczej ...must NOT be combined... moim zdaniem select @co=count(*), @su=sum(cena) from ShopCart jest poprawne taki bład dostałbyś, gdybyś napisał select @co=count(*), @su=sum(cena), jakies_pole from ShopCart
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 2000] =?ISO-8859-2?Q?wywo=B3anie_procesu_z_poziomu_?==?ISO-8859-2?Q?job=27a?=
[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
zanotowane.pldoc.pisz.plpdf.pisz.pllisinski.htw.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 |
|