Ich hatte einige Zweifel an der dynamischen Einfügung von Daten während eine Insert-Anweisung, also wollte nur etwas Hilfe von euch bekommen. Ich muss mehrere Einfügeanweisungen machen, sagen etwa 1500 Datensätze auf der Grundlage von 2 verschiedenen Kriterien ist nur ein Beispiel für eine Insert-Anweisung. Jetzt während ich eine Insert-Anweisung mache, möchte ich die USERIDs und ROLEid die 2 Spalten, die Sie in der Abfrage sehen können, dynamisch zuweisen. Also zum Beispiel wo Benutzer-ID IN (500 verschiedene Benutzer-ID) und Rolle ID in (100 verschiedenen).Dynamisch In Tabelle einfügen, während überprüft wird, ob der Datensatz bereits existiert
Insert into userrolelist (Userid, Roleid, IsDefault, EffectiveStart,
EffectiveEnd, Clientid, LastmodifiedUserId, LastmodifiedTimestamp)
Values (161514,1011,1,'2016-01-21 00:00:00.001',Null,16785,0,'2016-01-21
00:00:00.001')
Ich bin sicher, es gibt einen Weg dynamisches Einfügen zu tun, basierend auf 2 verschiedene Kriterien die ich als nur verwirrt bin, wie kann ich das erreichen. Hauptsächlich auch, weil ich für jedes Kriterium vor dem Einfügen prüfen muss, ob die Kombination userid + roleid bereits in der Tabelle existiert. Weil, wenn ich es nicht überprüfe und immer noch eine Einfügung mache, wird es einen Fehler werfen, weil es eine Beschränkung gibt, die auf den 2 Feldern basiert.
Jede Hilfe zu diesem Thema wäre willkommen. Bitte lassen Sie mich wissen, wenn die Frage nicht sehr klar ist, und ich kann ein bisschen mehr Erklärung bei Bedarf hinzufügen. Vielen Dank.
Sie können wahrscheinlich mehrere Einfügungen mit einer einzigen SELECT-Anweisung ausführen, die ebenfalls prüft, ob die Kombination aus Benutzer-ID/Role-ID, die Sie einfügen möchten, bereits in der Tabelle vorhanden ist. Aber es ist schwierig, spezifischer zu sein, ohne etwas wie Beispieldaten (mehr als die einzelne Zeile, die Sie zur Verfügung gestellt haben). – ZLK
@ZLK - Ich kann versuchen, einen Screenshot der Beispieldaten für Sie zu erhalten. Können Sie mir eine Idee geben, wie Sie das bereits vorhandene in der Select-Anweisung mit mehreren Bedingungen überprüfen? wie eine userid + role id –
Nun sagen wir, ich füge Sachen in eine Tabelle ein, die auf einer anderen Tabelle basiert. Ich könnte etwas tun wie 'INSERT INTO myTable (Spalte1, Spalte2 ...) SELECT Spalte1, Spalte2 ... FROM myOtherTable ASO WO NICHT EXISTIERT (SELECT 1 FROM myTable WHERE Spalte1 = O.column1 UND column2 = O.column2); 'oder so ähnlich. Ich kann der select-Anweisung bei Bedarf weitere where-Bedingungen hinzufügen und bei Bedarf auch das ändern, was ich mit case-Anweisungen einfüge. – ZLK