Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Datensatz kopieren MS SQL 2005 Express

Frage Entwicklung Datenbanken

Mitglied: Mahmoud

Mahmoud (Level 1) - Jetzt verbinden

14.03.2011 um 22:06 Uhr, 7093 Aufrufe, 2 Kommentare

Hallo @ All

Ich bin neu hier und hoffe das ihr mir weiterhelfen könnt

Da ich mich erst seit neuem in dem Bereich MS SQL einarbeite habe ich auch schon mit dem ersten Problem zu kämpfen.

Ich möchte von einer DB einen Datensatz Kopieren und ihn in eine zweite DB (Beide auf dem gleichen Server) einfügen.

Das ganze soll dann noch mittels update immer wieder Aktualisiert werden.

Ich hab bereits gelesen das es mit dem Insert befehl gehen könnte nur finde ich kein tutorial oder desgleichen der dieses Vernünftig erklärt.

Wie gesagt ich bin Anfänger und hab mich die letzten 4 Wochen mit Büchern und Lernvideos einiges erarbeitet.

Gibt es die möglichkeit das ganze direkt mit dem SQL Server Management Studio Express zu bewerkstelligen.

Ich hatte es auch schon mit PHP versucht :

mssql_query("INSERT INTO DB1.dbo.Customer SELECT * FROM DB2.dbo.Customer");

allerdings bringt er mir einen Fehler Ungültiger Objektname.

Ich bin für jede hilfe Dankbar.


Gruß@All
Mitglied: Endros
14.03.2011 um 22:16 Uhr
Zitat von Mahmoud:
Da ich mich erst seit neuem in dem Bereich MS SQL einarbeite habe ich auch schon mit dem ersten Problem zu kämpfen.

Ich möchte von einer DB einen Datensatz Kopieren und ihn in eine zweite DB (Beide auf dem gleichen Server) einfügen.

Das ganze soll dann noch mittels update immer wieder Aktualisiert werden.

Ich hab bereits gelesen das es mit dem Insert befehl gehen könnte nur finde ich kein tutorial oder desgleichen der dieses
Vernünftig erklärt.

Wie gesagt ich bin Anfänger und hab mich die letzten 4 Wochen mit Büchern und Lernvideos einiges erarbeitet.

Gibt es die möglichkeit das ganze direkt mit dem SQL Server Management Studio Express zu bewerkstelligen.

Ich hatte es auch schon mit PHP versucht :

mssql_query("INSERT INTO DB1.dbo.Customer SELECT * FROM DB2.dbo.Customer");

allerdings bringt er mir einen Fehler Ungültiger Objektname.

Ich bin für jede hilfe Dankbar.


Gruß@All


Option 1:
Falls für DB1 die Option "select into" aktiviert ist, dann kannst du es mit einem
select * into db1.dbo.Customer from db2.dbo.Customer
probieren.

Dabei wird dann in DB1 die noch nicht vorhandene Tabelle neu erstellt. Jedoch nur "halbherzig": ohne primary key, ohne indizes, ohne andere Constraints etc.


Option 2:
Du legst in DB1 die Tabelle Customer an (darauf bezieht sich höchstwahrscheinlich deine Fehlermeldung: Tabelle existiert nicht...)
Anschließend machst du am besten ein *präzises* insert:
insert into db1.dbo.Customer (Spalte1, Spalte2, Spalte3, Spalte4, ...)
select Spalte1, Spalte2, Spalte3, Spalte4, ... from db2.dbo.Customer where (Bedingung für den oder die Datensätze)
Mit präzise meine ich, wie du vielleicht erahnen kannst, die exakte Auflistung der Spalten in der gewünschten Reihenfolge. Das "hilft", wenn man später mal eine der Tabellen ändert und die entsprechende Anpassung der zweiten Tabelle vergißt ; oder wenn die Zieltabelle z.B. nur eine "Light-Version" der Quelltabelle sein soll oder oder oder.

Falls du mit Primary Key Constraints arbeitest (hoffentlich!) würde ich empfehlen, vorher in der Zieltabelle "vorsichtshalber" die relevanten Datensätze zu löschen:
delete from db1.dbo.Customer where (Bedingung...)
Bitte warten ..
Mitglied: filippg
14.03.2011 um 23:01 Uhr
Hallo,

wenn ich das nicht falsch in Erinnerung habe, werden DBs von Tabellen in T-SQL mit .. getrennt. Also: DB1..Customer (evtl. auch DB1..dbo.Customer).
Ja, und machen kann man das schon im Mgmt Studio, das ist zum lernen mit Sicherheit sehr, sehr viel praktischer als mit selbst gestrickten PHP-Querys. Den Baum entsprechend aufklappen, eine der Tabellen auswählen, rechte Maustaste Script Tabel as -> Select.. to -> New Query Window (oder so ähnlich...). Außerdem kann man dann noch den... hm... (ich glaube Query Editor heißt das grafisch unterstützte Tool) einblenden lassen. Rechte Maustaste in das Abfragefeld und Show Pane... auswählen. Oder oben in der Menüleiste auf das entsprechende Symbol.

Gruß

Filipp

PS: eine meiner Meinung nach wirklich gute & kompakte Einführung in Datenbanken findet sich unter http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/index.htm. Schwerpunkt liegt hier definitiv nicht auf SQL (als Abfragesprache) sondern auf Designgrundlagen relationaler DBs und Relationenalgebra. Sollte man sich aber vor der ersten Tabelle mal anschauen, dann tut man sich wirklich leichter mit allem folgenden.
Bitte warten ..
Ähnliche Inhalte
Windows Server
gelöst MS SQL Express 2008 - Wie kann ich das Logfile verkleinern? (3)

Frage von ChrisR zum Thema Windows Server ...

Datenbanken
MS SQL - Update Text Feld mit Steuerzeichen (4)

Frage von emeriks zum Thema Datenbanken ...

Windows Server
gelöst Ms sql management studio 2012 Konfigurationsmanagerstartet nicht (3)

Frage von XPFanUwe zum Thema Windows Server ...

Neue Wissensbeiträge
Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(2)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(5)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Viren und Trojaner

Neue Magazin Ausgabe: Malware und Angriffe abwehren

Information von Frank zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Windows Systemdateien
Warum System auf "C:" (29)

Frage von DzumoPRO zum Thema Windows Systemdateien ...

Cloud-Dienste
gelöst Bitcoins minen über Nacht? (16)

Frage von 1410640014 zum Thema Cloud-Dienste ...

Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...