Předání více hodnot parametrem do klauzule WHERE   zodpovězená otázka

SQL

Je možné nějak předat více parametrů do klauzule where?

Myslím to tak, že předem nevím kolik jich bude. Takže bych předal parametrem třeba tabulku hodnot...

K tomu ještě pod otázka, jak tyto hodnoty pak předám do dotazu ve Visual Studiu?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jde o to jestli se jedná o více parametrů a nebo o více hodnot jednoho parametru. Pokud to je ten druhý případ tak to jde pomocí IN (předpokládejme že chcete hledat podle sloupce ID).

Select něco

From tabulka

Where ID IN (1,5,8,6,10)

Parametry se vypíšou do závorky. Je to zkrácený zápis, takže nemusíte pořád dokola psát: ID=1 OR ID=5 OR ... atd.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

super, díky! :)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jinak tabulka hodnot jse předávat taky (pokud máte SQL Server 2008 nebo SQL Server 2008 R2). Je to poměrně mocný a užitečný nástroj, zejména když máte nějakou složitější stored proceduru a potřebujete vložit hodnoty do několika tabulek v rámci jedné transakce.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

tabulku hodnot lze předat standardně a není to dáno a limitováno verzí SQL serveru.Jen to chce trochu ovládat T-SQL.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

myslím, že tabulka hodnot (parametr typu Table) jako vstupní parametr je možné předávat skutečně až od verze 2008

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To je sice možné,ale předat tabulku hodnot lze i jinak...

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Informace, že to jde i jinak, bez náznaku řešení, je k ničemu - buď napište aspoň stručně, jak se to dělá nebo kde to najít, nebo radši nepište nic. Výsledný efekt je totiž stejný.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback