[MSSQL] select count(*) from nazwa_procedury(parametry)
R2r - 11-11-2006 00:53
[MSSQL] select count(*) from nazwa_procedury(parametry)
Witam,
Chcialbym uzyskac ilosc rekordów jaka zwróci mi procedura. Przy konstrukcji zapytania
select count(*) from nazwa_procedury(parametry)
QA wyrzuca blad: "Invalid object name 'nazwa_procedury'.". Jak takie zapytanie powinno zostac skonstruowane?
Z góry dzieki za pomoc, R2r
Wojciech Kulesza - 11-11-2006 00:53
>Chcialbym uzyskac ilosc rekordów jaka zwróci mi procedura. Przy konstrukcji zapytania
>select count(*) from nazwa_procedury(parametry)
>QA wyrzuca blad: "Invalid object name 'nazwa_procedury'.". Jak takie zapytanie powinno zostac skonstruowane?
Ilosc takowych rekordów powinna sama procedura zwrócic, inaczej nie dasz rady.
Wojtek
Robert Winkler - 11-11-2006 00:53
> Chcialbym uzyskac ilosc rekordów jaka zwróci mi procedura. Przy > konstrukcji zapytania > > select count(*) from nazwa_procedury(parametry) > > QA wyrzuca blad: "Invalid object name 'nazwa_procedury'.". Jak takie > zapytanie powinno zostac skonstruowane?
W MSSQL'u nie mozna procedury taki sposób wywolac zródem danych w takim wypadku moze byc co najwyzej funkcja i to nie kazda, a specyficzna, zwracajaca tabele.
-- ____________ Robert Winkler
Marcin A. Guzowski - 11-11-2006 00:53
Wojciech Kulesza napisał(a):
> Ilosc takowych rekordów powinna sama procedura zwrócic, inaczej nie dasz > rady.
False. Można to zrobić na kilka sposobów.
-- Pozdrawiam, Marcin Guzowski http://guzowski.info
Marcin A. Guzowski - 11-11-2006 00:53
Robert Winkler napisa?(a): > W MSSQLu nie mozna procedury taki sposób wywolac > zródem danych w takim wypadku moze byc co najwyzej funkcja > i to nie kazda, a specyficzna, zwracajaca tabele.
False. Moz.na zbierac' resultset takz.e z procedury. Sa; na to 2 sposoby godne uwagi.
-- Pozdrawiam, Marcin Guzowski http://guzowski.info
Marcin A. Guzowski - 11-11-2006 00:53
R2r napisa?(a): > Witam, > > Chcialbym uzyskac ilosc rekordów jaka zwróci mi procedura. Przy > konstrukcji zapytania > select count(*) from nazwa_procedury(parametry)
Parametrów procedury nie podaje sie; w nawiasie, ale to tak na marginesie.
> QA wyrzuca blad: "Invalid object name 'nazwa_procedury'.". Jak takie > zapytanie powinno zostac skonstruowane?
Wiele razy by?o to juz. wa?kowane. Albo w procedurze zwróc' @@ROWCOUNT przez RETURN lub parametr OUTPUT, albo:
1. przez tabele; tymczasowa;
CREATE TABLE #temp (pole typ_pola...) INSERT INTO #temp EXEC procedura @parametr SELECT Count(*) FROM #temp
2. przez OPENQUERY (data access musi byc' w?a;czone)
EXEC sp_serveroption 'server', 'data access', true SELECT * FROM OPENQUERY(server, 'EXEC procedura @parametr')
-- Pozdrawiam, Marcin Guzowski http://guzowski.info
Marcin A. Guzowski - 11-11-2006 00:53
[aktualizacja przestawiła mi kodowanie, again w ISO-8859-2]
R2r napisał(a): > Witam, > > Chcialbym uzyskac ilosc rekordów jaka zwróci mi procedura. Przy > konstrukcji zapytania > select count(*) from nazwa_procedury(parametry)
Parametrów procedury nie podaje się w nawiasie, ale to tak na marginesie.
> QA wyrzuca blad: "Invalid object name 'nazwa_procedury'.". Jak takie > zapytanie powinno zostac skonstruowane?
Wiele razy było to juz wałkowane. Albo w procedurze zwróć @@ROWCOUNT przez RETURN lub parametr OUTPUT, albo:
1. przez tabelę tymczasową
CREATE TABLE #temp (pole typ_pola...) INSERT INTO #temp EXEC procedura @parametr SELECT Count(*) FROM #temp
2. przez OPENQUERY (data access musi być włączone)
EXEC sp_serveroption 'server', 'data access', true SELECT * FROM OPENQUERY(server, 'EXEC procedura @parametr')
-- Pozdrawiam, Marcin Guzowski http://guzowski.info
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] 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
MSSQL , funkcja pobierajaca sama date (bez czasu) w funkcji
zanotowane.pldoc.pisz.plpdf.pisz.plczterowers.keep.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 |
|