Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

SQL insert Befehl via VS08 C#

Empfohlene Antworten

Veröffentlicht

Hallo,

ich habe zwie Tabellen in einer DatenBank, eine davon ist leer und soll mit werten der anderen gefüllt werden, doch nicht alle Spalten sollen übernommen werden. Desweiteren sollte die id (ist eine int, kleine Tabelle) für referierungszwecke gleich bleiben.

nennen wir die tabellen tbErste und tbZweite, die leben beide in "dbo", Spalten sind:

"Bereich" (int, schlüssel) "Kurz" (string(30)) in der tbErste und

"idNum" (int, schlüssel) "Bezeichnung" (string(30)) in der tbZweite

Sollte mein sql-Statement etwa so aussehen? (Korekkturlauf)

string[] sSQLArr = new string[]

{

"INSERT INTO [dbo].[tbZweite]([idNum],[bezeichnung])" +

"VALUES ([dbo].[tbErste].[bereich],[dbo].[tbErste].[Kurz])",

};

return KonvertSQLArray(connection, sSQLArr, 3);

Das Problem ist, dass ich mir nicht sicher sein kann, dass tbErste.Kurz immer existiert und ich nicht weiß ob mir das nicht die Reihenfolge zerstört,

Plus, meine SQL-Kenntnisse sind, sagen wir, nicht gut und daher bin ich mir nicht mal sicher, ob ich nicht erst über ALTER TABLE [dbo].[tbZweite] die Tabelle "Aufmachen" muss, und ich bin nicht syntaxsicher.

Bitte wirklich um konstruktive Hilfe und nicht soetwas wie "google doch" oder "schau mal beim MSDN", versuche ich zeitgleich türlich auch. Aber Hier sind ja die wirklichen Profis :)

Danke für die mühen, Kosi

p.s.: Habe die Forensuche angestrengt, leider nicht das gefunden war mir explizit weiterhilft...

string[] sSQLArr = new string[]

{

"INSERT INTO [dbo].[tbZweite]([idNum],[bezeichnung])" +

"SELECT [idNum]" +

"FROM [dbo].[tbErste].[bereich]" +

"SELECT [bezeichnung]" +

"FROM [dbo].[tbErste].[Kurz]",

};

Oder bekomme ich dann Probleme, da erstens SELECT und FROM zwimal auftauchen,

zweitens ich gar keine VALUE angaben gemacht habe... ??

oder ist ein WHERE [tbErste].[bereich] == [tbZweite].[idNum]

wobei == nicht klappen dürfte, und idNum in tbZweite noch gar nicht existiert...

Oder besser über anderen weg wie etwa Merge (wenns das gibt),

danke nochmak, Kosi

laut Insert (SQL - Wikipedia, the free encyclopedia) könnte das klappen

string[] sSQLArr = new string[]

{

"INSERT INTO [dbo].[tbZweite]([idNum],[bezeichnung])" +

"SELECT [bereich],[Kurz]" +

"FROM [dbo].[tbErste]",

};

Klappt das auch mit Nullwerten (habe gehört diese seinen besonders böse), und fliegt mir da nicht etwas um die Ohren, falls in der tbZweite bereits Daten sind?

Kann das leider nicht ausprobieren, da ich damit nicht (nur) meine Daten verändere, sondern auch woanders...

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.