
odkaz na nazvy stlpcov v sql
Viem v mssql , aby som nemusel vypisovat podobne nazvy slpcov, pouzit v nazve stlpcov nejaky regulerny vyraz, nieco alo select an* from . . . . kde by mi vypisal vsetky stlpce zacinajuce na "an" . . .
iba cez dynamic SQL.
do nejakej premennej typu NVARCHAR(n) si vyskladas svoj select. a potom zavolas EXEC (@tvojaPremenna)
budes ale musiet ziskat zoznam stlpcov, ktore vyhovuju tvojej podmienke z tabulky sys.columns, pricom cez stlpec object_id budes este musiet prijoinovat tabulku sys.tables, aby si pracoval len so stlpcami tej tabulky, z ktorej chces vo finale selectovat.
Nebo to můžeš udělat jednoduchou oklikou v PHP či jiném jazyku.
Sloupce vybereš prvním dotazem z information_schema, tabulka columns, a sestavíš výsledný dotaz cyklem.
Bavime sa tu o mssql nie mysql ;)
Aj keď sa to dá spraviť cez dynamické SQL, tak takéto niečo by si vôbec nemal robiť. Pokiaľ tie stĺpce selektuješ často, tak si vytvor nad tabuľkou VIEW, v ktorom si vyberieš požadované stĺpce. Ak to píšeš do nejakého programu/skriptu, tak si daj tú námahu a vypíš všetky požadované názvy stĺpcov. Ušetríš si tak problémy, ktoré by mohli v budúcnosti nastať.
Nie, potrebujem to len obcas, a v podstate je to do akehosi okna ktore spracuje sql prikaz a vypluje mi do akehosi browsera vysledne riadky. Len sa mi nechce vypisovat asi 20 stlpcov, ktorych nazvy su v prvych 4-6 znakov rovnake, nasledne pokracuju roznym poctom inych znakov. Len som si chcel ul;ahcit vypisovanie.
Spracuje len jeden prikaz sql, takze akysi druh programu a naplnenie tabulky neprichadza do uvahy . . . iba ak by som to robil postupne....
Takze nic, dik.
Pozri si, čo je to VIEW, pretože to rieši tvoj problém.
asi neriesi, lebo vo view potom nemozem robit opravy dat . . .
To nemôžeš robiť ani v SELECTe. A neviem, o akých opravách dát píšeš, ale nad jednoduchými VIEW môžeš spúšťať aj UPDATE príkazy.