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, 7053 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Server
gelöst Update von sql server express 2005 sp4 auf 2008 klappt nicht (11)

Frage von jhaustein zum Thema Windows Server ...

Datenbanken
MS-SQL-Server + T-SQL+Batch (4)

Frage von kallewirsch zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (15)

Frage von liquidbase zum Thema Windows Update ...

DSL, VDSL
Problem mit variernder Internetgeschwindigkeit (12)

Frage von schaurian zum Thema DSL, VDSL ...