Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

DB-Owner in SQL dynamisch ersetzen

Mitglied: Loonie

Loonie (Level 1) - Jetzt verbinden

11.11.2011 um 12:50 Uhr, 2430 Aufrufe, 1 Kommentar

Hallo,

ich habe für verschiedene Mandanten immer die gleiche Tabellenstruktur in einer Datenbank gespeichert. Außerdem habe ich eine Kundentabelle, die wie folgt aussieht:

Tabelle CMS.KUNDEN Spalten ( ProdOwner, Name, Beginn ...)
Beispiele sind ( M100, Mandant1, 01.01.2011) , (M200, Mandant2, 01.04.2011) ...

Die Tabellen des Kunden haben jeweils den DB-Benutzer vorweggestellt, also M100.TABELLE1

Bislang habe ich es so gelöst:

SELECT 'Mandant1', Name, Datum, Flag1 FROM M100.TABELLE1
UNION
SELECT 'Mandant2', Name, Datum, Flag1 FROM M200.TABELLE1
...

Wie kann ich es clever lösen, dass alle Mandantennummern aus der Kundentabelle mit einer verschachtelten Abfrage durchlaufen werden.

Danke und Gruß

Thomas
Mitglied: Indrador
24.11.2011 um 23:14 Uhr
Zitat von Loonie:
Hallo,

ich habe für verschiedene Mandanten immer die gleiche Tabellenstruktur in einer Datenbank gespeichert. Außerdem habe
ich eine Kundentabelle, die wie folgt aussieht:

Tabelle CMS.KUNDEN Spalten ( ProdOwner, Name, Beginn ...)
Beispiele sind ( M100, Mandant1, 01.01.2011) , (M200, Mandant2, 01.04.2011) ...

Die Tabellen des Kunden haben jeweils den DB-Benutzer vorweggestellt, also M100.TABELLE1

Bislang habe ich es so gelöst:

SELECT 'Mandant1', Name, Datum, Flag1 FROM M100.TABELLE1
UNION
SELECT 'Mandant2', Name, Datum, Flag1 FROM M200.TABELLE1
...

Wie kann ich es clever lösen, dass alle Mandantennummern aus der Kundentabelle mit einer verschachtelten Abfrage durchlaufen
werden.

Danke und Gruß

Thomas


Hi,

ich weiß nicht, ob ich die Frage richtig verstanden habe, aber falls du alle Selects + UNION haben willst, gehts schnell so:
01.
Select	case rank() OVER (Order by mandant)
02.
		when (select COUNT(mandant) from mandant ) then
03.
		'SELECT Mandant'+	case	when RIGHT(mandant,1) <> 0 then substring(mandant,2,3) when RIGHT(mandant,2) <> 00 then substring(mandant,2,2) else substring(mandant,2,1) end+', Name, Datum, Flag1 FROM ' + mandant + '.TABELLE1'
04.
		else
05.
		'SELECT Mandant'+	case	when RIGHT(mandant,1) <> 0 then substring(mandant,2,3) when RIGHT(mandant,2) <> 00 then substring(mandant,2,2) else substring(mandant,2,1) end+', Name, Datum, Flag1 FROM ' + mandant + '.TABELLE1 UNION'
06.
		end
07.
from mandant
Funktioniert allerdings nur bis zu M###, M ist nicht abgedeckt aber einfach zu ergänzen. übersprungene Nummern sind kein Problem.

Gruß
Bitte warten ..
Ähnliche Inhalte
Datenbanken
SQL 2000 DB ist Fehlerverdächtig
Frage von franksigDatenbanken3 Kommentare

Hallo Ich habe einen alten SQL 2000 bei dem wohl eine DB defekt ist im Management Studio Express ist ...

Datenbanken
Backup restore SQL Express DB
Frage von franksigDatenbanken7 Kommentare

Hallo zusammen. ich bin keine SQL leuchte und hab da mal eine frage ich möchte gerne eine SQL Express ...

Microsoft
SQL TEMP DB Disk Space
gelöst Frage von TECHGENEMicrosoft4 Kommentare

Guten Tag, auf unserem SQL Server 2008 R2 hatten wir neulich das Problem, dass die tempdb (auf eigener Disk) ...

Datenbanken
MS SQL DB-Daten archivieren?
gelöst Frage von SchelinhoDatenbanken16 Kommentare

Hallo zusammen! Ich habe eine Anwendung, welche MSSQL (SQL Server 2014 SP2) nutzt. Auf der DB-Instanz laufen diverse Datenbanken. ...

Neue Wissensbeiträge
Firewall
PfSense 2.5.0 benötigt doch kein AES-NI
Information von ChriBo vor 1 TagFirewall1 Kommentar

Hallo, Wie sich einige hier erinnern werden hat Jim Thompson in diesem Aritkel beschrieben, daß ab Version 2.5.0 ein ...

Internet
Copyright-Reform: Upload-Filter
Information von Frank vor 3 TagenInternet1 Kommentar

Hallo, viele Menschen reden aktuell von Upload-Filtern. Sie reden darüber, als wären es eine Selbstverständlichkeit, das Upload-Filter den Seitenbetreibern ...

Google Android

Blokada: Tracking und Werbung unter Android unterbinden

Information von AnkhMorpork vor 3 TagenGoogle Android1 Kommentar

In Ergänzung zu meinem vorherigen Beitrag: Blokada efficiently blocks ads, tracking and malware. It saves your data plan, makes ...

Google Android
Facebooks unsichtbare Datensammlung
Information von AnkhMorpork vor 3 TagenGoogle Android3 Kommentare

Rund 30 Prozent aller Apps im Play-Store nehmen Kontakt zu Facebook auf, sobald man sie startet. So erfährt der ...

Heiß diskutierte Inhalte
Backup
Wo installiert man Veeam bei SoHo?
Frage von EDVMan27Backup14 Kommentare

Hallo, nachdem ich die neue Veeam CE bei mir getestet habe, wollte ich es einmal bei einem Kunden testen. ...

CPU, RAM, Mainboards
Kann eine "virtuelle CPU" bei VMware die Leistung einer phys. CPU entsprechen ?
Frage von Troja71CPU, RAM, Mainboards11 Kommentare

Eine Software fordert im Betrieb 8 CPU mit x GHz Taktung. Verfügbar ist "nur" eine VM mit 8 vCPUs ...

Batch & Shell
Tasklist überprüfen
Frage von IleiesBatch & Shell10 Kommentare

Hallo zusammen, Wie kann ich in Batch überprüfen, ob gerade der Prozess "Skype.exe" ausgeführt wird? Also nicht so dass ...

SAN, NAS, DAS
Aktuelle Bauvorschläge für NAS
gelöst Frage von zuckelSAN, NAS, DAS9 Kommentare

Hallo zusammen, ich möchte gerne ein NAS. Ein NAS mit ZFS und FreeNAS und mehr als 4 Festplatten (auch ...