Dies scheint ein Gebiet mit einigen Mythen und widersprüchlichen Ansichten zu sein. Was ist der Unterschied zwischen einer Tabellenvariablen und einer lokalen temporären Tabelle in SQL Server?
Ich muss oft eine Anzahl von Zeilen aus jeder Gruppe in einer Ergebnismenge auswählen. Zum Beispiel möchte ich vielleicht die 'n' höchsten oder niedrigsten letzten Bestellwerte pro Kunde auflisten. In komplexeren Fällen kann die Anzahl der aufzulistenden Zeilen pro Gruppe variieren (definiert durch ein Attribut des Gruppierungs- / übergeordneten Datensatzes). …
Ich versuche, mit einer MERGEAnweisung Zeilen aus einer Tabelle einzufügen oder zu löschen, möchte jedoch nur auf eine Teilmenge dieser Zeilen reagieren. Die Dokumentation für MERGEhat eine ziemlich starke Warnung: Es ist wichtig, nur die Spalten aus der Zieltabelle anzugeben, die für Abgleichszwecke verwendet werden. Geben Sie also Spalten aus …
Ich muss eine fortlaufende Summe über einen Datumsbereich berechnen. Zur Veranschaulichung, unter Verwendung der AdventureWorks-Beispieldatenbank , würde die folgende hypothetische Syntax genau das tun, was ich brauche: SELECT TH.ProductID, TH.TransactionDate, TH.ActualCost, RollingSum45 = SUM(TH.ActualCost) OVER ( PARTITION BY TH.ProductID ORDER BY TH.TransactionDate RANGE BETWEEN INTERVAL 45 DAY PRECEDING AND CURRENT …
All dies funktioniert: CREATE DATABASE [¯\_(ツ)_/¯]; GO USE [¯\_(ツ)_/¯]; GO CREATE SCHEMA [¯\_(ツ)_/¯]; GO CREATE TABLE [¯\_(ツ)_/¯].[¯\_(ツ)_/¯]([¯\_(ツ)_/¯] NVARCHAR(20)); GO CREATE UNIQUE CLUSTERED INDEX [¯\_(ツ)_/¯] ON [¯\_(ツ)_/¯].[¯\_(ツ)_/¯]([¯\_(ツ)_/¯]); GO INSERT INTO [¯\_(ツ)_/¯].[¯\_(ツ)_/¯]([¯\_(ツ)_/¯]) VALUES (N'[¯\_(ツ)_/¯]'); GO CREATE VIEW [¯\_(ツ)_/¯].[vw_¯\_(ツ)_/¯] AS SELECT [¯\_(ツ)_/¯] FROM [¯\_(ツ)_/¯].[¯\_(ツ)_/¯]; GO CREATE PROC [¯\_(ツ)_/¯].[sp_¯\_(ツ)_/¯] @Shrug NVARCHAR(20) AS SELECT [¯\_(ツ)_/¯] …
Oft muss ich etwas wie das Folgende schreiben, wenn ich mich mit SQL Server beschäftige. create table #table_name ( column1 int, column2 varchar(200) ... ) insert into #table_name execute some_stored_procedure; Das Erstellen einer Tabelle mit der genauen Syntax als Ergebnis einer gespeicherten Prozedur ist jedoch eine mühsame Aufgabe. Zum Beispiel …
Werden in der SQL Server- CASEAnweisung (speziell 2008 oder 2012) alle WHENBedingungen ausgewertet oder wird sie beendet, sobald eine WHENKlausel gefunden wird, die als wahr ausgewertet wird? Wenn der gesamte Bedingungssatz durchlaufen wird, bedeutet dies, dass die letzte Bedingung, die als wahr bewertet wurde, die erste Bedingung überschreibt, die als …
Ich habe T-SQL seit mehreren Jahren entwickelt und beschäftige mich ständig weiter mit allen Aspekten der Sprache. Ich habe vor kurzem angefangen, in einem neuen Unternehmen zu arbeiten, und habe einen meiner Meinung nach merkwürdigen Vorschlag für Transaktionen erhalten. Benutze sie niemals. Verwenden Sie stattdessen eine Problemumgehung, die eine Transaktion …
Wir müssen die SELECT-Abfrageergebnisse in eine CSV-Datei schreiben. Wie geht das mit T-SQL in SQL Server 2008 r2? Ich weiß, dass dies in SSIS möglich ist, aber aus bestimmten Gründen haben wir diese Option nicht. Ich habe versucht, das im folgenden Artikel vorgeschlagene Verfahren zu verwenden, aber wenn ich das …
Was ist der Grund für die Verwendung der GO-Anweisung nach jeder SQL-Anweisung? Ich verstehe, dass GO das Ende des Batch signalisiert und / oder die Reputation von Anweisungen zulässt, aber welchen Vorteil es hat, wenn es nach jeder Anweisung verwendet wird. Ich bin nur neugierig, da viele Microsoft-Dokumentationen usw. sie …
Wie der Titel schon sagt, brauche ich etwas Hilfe, um eine laufende Summe in T-SQL zu erhalten. Das Problem ist, dass die Summe, die ich machen muss, die Summe einer Zählung ist: sum(count (distinct (customers))) Sagen Sie, wenn ich die Zählung alleine durchführe, wäre das Ergebnis: Day | CountCustomers ---------------------- …
Ist es möglich, einen Tabellenwert-Parameter als Ausgabeparameter für eine gespeicherte Prozedur zu verwenden? Hier ist, was ich in Code tun möchte /*First I create MY type */ CREATE TYPE typ_test AS TABLE ( id int not null ,name varchar(50) not null ,value varchar(50) not null PRIMARY KEY (id) ) GO …
Wir möchten eine SQL Server-Instanz außer Betrieb nehmen, auf der noch einige Datenbanken vorhanden sind. Wie kann ich feststellen, ob sie noch von Benutzern oder einer Webanwendung verwendet werden? Ich habe einen Forenthread mit einer T-SQL-Abfrage gefunden, mit der Sie das letzte Abfragedatum abrufen können. Es scheint zu funktionieren, aber …
Untersuchen wir diese beiden Aussagen: IF (CONDITION 1) OR (CONDITION 2) ... IF (CONDITION 3) AND (CONDITION 4) ... Wenn CONDITION 1ja TRUE, wird CONDITION 2geprüft? Wenn CONDITION 3ja FALSE, wird CONDITION 4geprüft? Was ist mit Bedingungen für WHERE: Optimiert das SQL Server-Modul alle Bedingungen in einer WHEREKlausel? Sollen Programmierer …
Offenbar hängt die Ausführungsgeschwindigkeit von T-SQL von der Latenz der Netzwerkverbindung zum Server ab. Ich ging davon aus, dass SQL Server, wenn er dem Client nichts zu melden hat, nur so lange ausgeführt wird, bis er fertig ist, aber das Testen zeigt eine andere Geschichte. create procedure UselessLoop @I int …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.