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" . . .
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" . . .
Předmět | Autor | Datum |
---|---|---|
iba cez dynamic SQL.
do nejakej premennej typu NVARCHAR(n) si vyskladas svoj select. a potom zavolas… cigan 05.02.2018 13:52 |
cigan | |
Nebo to můžeš udělat jednoduchou oklikou v PHP či jiném jazyku.
Sloupce vybereš prvním dotazem z inf… hynajs 05.02.2018 15:01 |
hynajs | |
information_schema, tabulka columns
Bavime sa tu o mssql nie mysql ;) cigan 05.02.2018 16:29 |
cigan | |
Aj keď sa to dá spraviť cez dynamické SQL, tak takéto niečo by si vôbec nemal robiť. Pokiaľ tie stĺp… los 05.02.2018 18:56 |
los | |
Nie, potrebujem to len obcas, a v podstate je to do akehosi okna ktore spracuje sql prikaz a vypluje… truhlik 06.02.2018 15:05 |
truhlik | |
Pozri si, čo je to VIEW, pretože to rieši tvoj problém. los 06.02.2018 15:08 |
los | |
asi neriesi, lebo vo view potom nemozem robit opravy dat . . . truhlik 07.02.2018 12:54 |
truhlik | |
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… poslední los 07.02.2018 14:27 |
los |
Zpět do poradny Odpovědět na původní otázku Nahoru
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.