Als «t-sql» getaggte Fragen

Transact-SQL (T-SQL) ist ein SQL-Dialekt, der von Microsoft SQL Server und SAPs Sybase verwendet wird.


3
Sollte ich einer Querverweistabelle nur für PK-Zwecke ein Auto-Inkrement- / IDENTITY-Feld hinzufügen?
Ich füge meiner von SQL Server gehosteten Datenbank die folgende Querverweistabelle hinzu: company_id bigint not null (FK) org_path nvarchar (2048) not null Das company_idFeld bezieht sich auf das idFeld in einer anderen Tabelle (in der es sich um den Primärschlüssel handelt). Da es auch mehrere Datensätze mit demselben Datensatz geben …


1
Überwinde MERGE JOIN (INDEX SCAN) mit einem expliziten einzelnen KEY-Wert auf einem FOREIGN KEY
Hinzugefügt 7/11 Das Problem ist, dass Deadlocks aufgrund von Index-Scans während MERGE JOIN auftreten. In diesem Fall setzt eine Transaktion, die versucht, eine S-Sperre für den gesamten Index in der übergeordneten FK-Tabelle zu erhalten, aber zuvor eine andere Transaktion eine X-Sperre für einen Schlüsselwert des Index. Lassen Sie mich mit …

1
Wie vermeide ich die Verwendung der Zusammenführungsabfrage, wenn mehrere Daten mithilfe des XML-Parameters aktualisiert werden?
Ich versuche, eine Tabelle mit einem Array von Werten zu aktualisieren. Jedes Element im Array enthält Informationen, die mit einer Zeile in einer Tabelle in der SQL Server-Datenbank übereinstimmen. Wenn die Zeile bereits in der Tabelle vorhanden ist, aktualisieren wir diese Zeile mit den Informationen im angegebenen Array. Andernfalls fügen …

2
Symmetrische Differenzoperation in Transact-SQL?
Ich habe immer über den UNIONOperator in SQL gewusst , aber erst kürzlich festgestellt, dass es andere Mengenoperatoren gibt, INTERSECTund EXCEPT. Ich konnte keinen Operator finden, der den vierten großen Mengenoperator ausführt, den symmetrischen Unterschied (z INTERSECT. B. das Gegenteil von .) Es sieht so aus, als könnte ich mit …


1
sp_execute erwartet den Parameter '@handle' vom Typ 'int'
Ich versuche, eine gespeicherte Prozedur einzuchecken, wenn eine Tabelle in meiner Zieldatenbank vorhanden ist. Wenn dies nicht der Fall ist, erstelle ich die Tabelle unter Verwendung der Tabellen information_schema aus der Quellendatenbank. Wenn ich jedoch sp_execute verwende, um zu versuchen, die Tabelle wiederherzustellen, erhalte ich den Fehler. Die Prozedur erwartet …

1
Variable für den Elementnamen
Ich habe diesen tSQL-Code, der OK funktioniert: SELECT c.logguid, a.b.value('./PropertyValue', 'varchar(max)') asd FROM [dnn].[dbo].[EventLog2] c cross apply sss.nodes('/LogProperties/LogProperty[PropertyName=sql:variable("@x") and PropertyValue=sql:variable("@y")]') as a(b) Ich möchte jedoch in der Lage sein, eine dynamische Liste von vielen Wertepaaren zu übergeben, die zwischen jedem ODER-verknüpft sind, d. H. SELECT c.logguid, a.b.value('./PropertyValue', 'varchar(max)') asd FROM …
9 t-sql  xml 



1
STRING_SPLIT mit einem Trennzeichen aus mehreren Zeichen?
In SQL Server 2016 wurde STRING_SPLIT eingeführt, das sehr schnell ist und einen hervorragenden Ersatz für alle hausgemachten Implementierungsaufgaben darstellt, die vor 2016 ausgeführt werden. Leider unterstützt STRING_SPLIT nur ein Einzelzeichen-Trennzeichen, was nicht immer ausreicht. Kennt jemand eine gute Implementierung, die die Verwendung mehrerer Zeichen im Trennzeichen ermöglicht?

2
Wie füge ich bei Vergleichen in SQL Server Nullen hinzu?
Grundsätzlich bedeutet ein NULL in SQL Server, dass es keinen Wert gibt und daher nicht verglichen werden kann, was zu unerwarteten Ergebnissen führt. Beispielsweise gibt die folgende Abfrage keine Zeilen zurück, in denen der Wert NULL ist, aber ich möchte, dass dies der Fall ist: SELECT * FROM table WHERE …

3
Wie kann ich die Gesamtzahl der letzten Zeilen schneller ausführen?
Ich entwerfe gerade eine Transaktionstabelle. Ich erkannte, dass die Berechnung der laufenden Summen für jede Zeile erforderlich ist und die Leistung möglicherweise langsam ist. Also habe ich zu Testzwecken eine Tabelle mit 1 Million Zeilen erstellt. CREATE TABLE [dbo].[Table_1]( [seq] [int] IDENTITY(1,1) NOT NULL, [value] [bigint] NOT NULL, CONSTRAINT [PK_Table_1] …

4
Eine Abfrage in einer case-Anweisung beenden?
Ich versuche, eine Abfrage so einzurichten, dass zwei Daten aus zwei verschiedenen Tabellen verglichen werden. Wenn sie gleich sind, wird die Abfrage beendet. Wenn sie nicht gleich sind, wird die Abfrage fortgesetzt und einige Elemente eingefügt. Ich kann jedoch nicht herausfinden, wie ich es dazu bringen kann, das zu tun, …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.