Diskuze: USE Database (cyklem na víc databází) ?

Ostatní jazyky SQL SQL a databáze USE Database (cyklem na víc databází) ?

Avatar
Zbyněk Málek:

Mám menší, nebo možná větší problém... Jde nějak udělat, abych mohl při použití USE použít proměnnou (cyklus)? Vytvářím tmp databáze a potřebuju si z ní něco vycucnout, pak jí vyčistit a naplnit hodnotama z další databáze. TMPčka plním stored procedurama (např. sp_helpuser). Výsledkem bude tabulka v jedné databázi údržby, kam mám přístup, ve které by měli být sepsány všechny role jednotlivých userů ve všech DB na serveru (a další věci)...

 
Odpovědět 20. dubna 12:21
Avatar
LacoS.
Člen
Avatar
LacoS.:

Ty vies ist aj do inej DB, len musis pouzit pred menom_tabulky/pro­cedury nazov tej druhej DB.

napr:

USE DB1
.
.
.
Select T2.StlpX, T3.StlpY from DB2.TabulkaX T1, DB3.TabulkaY T3 where T2.id=T3.id;

alebo

Select * from MenoDB4.menoTab where ...
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět 23. dubna 9:53
Avatar
Zbyněk Málek:

Dobré vědět, díky... Problém mám sice již vyřešený, ale k tomuto jen doplním, že jsem měl předem neurčený počet, ani názvy databází... Mělo to být univerzálně nasaditelné, pak bych řešil stejný problém u FROM části, kam proměnné taky nemůžu nacpat... (sp_executeSQL mi pomohlo)

 
Nahoru Odpovědět 25. dubna 9:43
Avatar
Zbyněk Málek:

Pokud to bude někdo číst zpětně... exec sp_msForEachDb ' use [?]
select db_name() as [database_name], r.[name] as [role], p.[name] as [me|] from
sys.database_ro­le_members m
join
sys.database_prin­cipals r on m.role_principal_id = r.principal_id
join
sys.database_prin­cipals p on m.member_prin­cipal_id = p.principal_id
'

Tohle je ještě elegantnější způsob než sp_executeSQL...

 
Nahoru Odpovědět 27. dubna 16:42
Avatar
Peter Okuliar:

Dobry den,vedel by mi niekto napisat v SQL tieto priklady:
1.
Napíšte príkaz SELECT nad databázou JvsPrefa, ktorý zobrazí zoznam položiek na skladoch 30 a 40 spoločnosti 7 (Prefa Invest a.s.) so zostatkom na sklade >= 1000 (zobrazte aj zostatok).
Riadky budú zoradené podľa veľkosti zostatku zostupne.

Vzor:
Číslo skladu
Názov skladu
Číslo položky
Názov položky
Zostatok na sklade
MJ

2.
Napíšte príkaz SELECT nad databázou JvsPrefa, ktorý zobrazí zoznam 100 položiek spoločnosti 7 (Prefa Invest a.s.) s najnižším nenulovým zostatkom na všetkých skladoch dokopy.
Riadky budú zoradené podľa veľkosti zostatku vzostupne.

Vzor:
Číslo položky
Názov položky
Zostatok na všetkých skladoch
MJ

 
Nahoru Odpovědět  -2 27. dubna 17:26
Avatar
Odpovídá na Peter Okuliar
Michal Štěpánek:

To, že napíšeš svůj dotaz do správné sekce, ale "vecpeš" se někomu do jeho dotazu, resp. více lidem do dotazů to k vyřešení nepomůže. Kdybys radši hledání věnoval desetinu času, který si strávil napsáním toho dotazu, tak bys to měl už dávno vyřešené...
http://www.itnetwork.cz/…vyhledavani/

Nahoru Odpovědět 28. dubna 7:37
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Peter Okuliar:

sorry...uz to mam vyriesene,prepacte ze som si dovolil otravovat.povayujte moj prispevok za ukonceny.

 
Nahoru Odpovědět 28. dubna 8:09
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.