Cela semble être un domaine avec pas mal de mythes et d'opinions contradictoires. Alors, quelle est la différence entre une variable de table et une table temporaire locale dans SQL
Transact-SQL (T-SQL) est un dialecte de SQL utilisé par Microsoft SQL Server et SAP Sybase.
Cela semble être un domaine avec pas mal de mythes et d'opinions contradictoires. Alors, quelle est la différence entre une variable de table et une table temporaire locale dans SQL
J'ai souvent besoin de sélectionner un nombre de lignes de chaque groupe dans un jeu de résultats. Par exemple, je pourrais vouloir lister les 'n' valeurs de commande récentes les plus élevées ou les plus basses par client. Dans des cas plus complexes, le nombre de lignes à répertorier peut varier...
J'essaie d'utiliser une MERGEinstruction pour insérer ou supprimer des lignes d'une table, mais je souhaite uniquement agir sur un sous-ensemble de ces lignes. La documentation pour MERGEa un avertissement assez fort libellé: Il est important de spécifier uniquement les colonnes de la table cible...
Je dois calculer une somme glissante sur une plage de dates. Pour illustrer, en utilisant l' exemple de base de données AdventureWorks , la syntaxe hypothétique suivante ferait exactement ce dont j'ai besoin: SELECT TH.ProductID, TH.TransactionDate, TH.ActualCost, RollingSum45 = SUM(TH.ActualCost)...
Tout cela fonctionne: CREATE DATABASE [¯\_(ツ)_/¯]; GO USE [¯\_(ツ)_/¯]; GO CREATE SCHEMA [¯\_(ツ)_/¯]; GO CREATE TABLE [¯\_(ツ)_/¯].[¯\_(ツ)_/¯]([¯\_(ツ)_/¯] NVARCHAR(20)); GO CREATE UNIQUE CLUSTERED INDEX [¯\_(ツ)_/¯] ON [¯\_(ツ)_/¯].[¯\_(ツ)_/¯]([¯\_(ツ)_/¯]); GO INSERT INTO...
Souvent, je dois écrire quelque chose comme ce qui suit lorsque je traite avec SQL Server. create table #table_name ( column1 int, column2 varchar(200) ... ) insert into #table_name execute some_stored_procedure; Mais créer une table dont la syntaxe exacte résulte d'une procédure stockée est une...
L'instruction SQL Server (2008 ou 2012, en particulier) CASEévalue-t-elle toutes les WHENconditions ou se ferme-t-elle une fois qu'elle trouve une WHENclause évaluée à true? Si elle passe par l’ensemble des conditions, cela signifie-t-il que la dernière condition évaluée comme vraie remplace ce que...
Je développe T-SQL depuis plusieurs années et j'approfondis sans cesse, continuant à apprendre tout ce que je peux sur tous les aspects de la langue. J'ai récemment commencé à travailler dans une nouvelle société et j'ai reçu ce que je pense est une suggestion étrange concernant les transactions....
Nous devons écrire les résultats de la requête SELECT dans un fichier csv. Comment faire pour utiliser T-SQL dans SQL Server 2008 R2? Je sais que cela peut être fait dans SSIS, mais pour certaines raisons, nous n'avons pas cette option. J'ai essayé d'utiliser le proc suggéré dans l'article...
Quel est le raisonnement derrière l'utilisation de l'instruction GO après chaque instruction SQL? Je comprends que GO indique la fin du lot et / ou autorise la réputation des déclarations, mais quel avantage at-il à l’utiliser après chaque déclaration? Je suis simplement curieux de constater que de...
Comme le titre l'indique, j'ai besoin d'aide pour obtenir un total cumulé dans T-SQL. Le problème est que la somme que je dois faire est la somme d'un compte: sum(count (distinct (customers))) Disons que si je comptais seul, le résultat serait: Day | CountCustomers ---------------------- 5/1 | 1...
Est-il possible d'utiliser le paramètre Table-Valued comme paramètre de sortie pour une procédure stockée? Voici ce que je veux faire dans le code /*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...
Examinons ces deux déclarations: IF (CONDITION 1) OR (CONDITION 2) ... IF (CONDITION 3) AND (CONDITION 4) ... Si CONDITION 1est TRUE, sera CONDITION 2vérifié? Si CONDITION 3est FALSE, sera CONDITION 4vérifié? Qu'en est-il des conditions sur WHERE: le moteur SQL Server optimise-t-il toutes les...
Nous cherchons à mettre hors service une instance SQL Server contenant quelques bases de données. Comment puis-je savoir s'ils sont encore utilisés par des utilisateurs ou par une application Web? J'ai trouvé un fil de discussion contenant une requête T-SQL que vous pouvez exécuter pour récupérer...
Il semble que la vitesse d'exécution de T-SQL dépende de la latence de la connexion réseau par rapport au serveur. J'ai supposé que si SQL Server n'a rien à signaler au client, il s'exécutera jusqu'à ce qu'il soit terminé, mais les tests montrent une autre histoire. create procedure UselessLoop @I...
J'ai fait quelques recherches sur ce que fait l' OPTION (FAST XXX)indicateur de requête dans une SELECTdéclaration et je suis toujours confus. Selon MSDN: Spécifie que la requête est optimisée pour une récupération rapide des premières number_rows. Il s'agit d'un entier non négatif. Une fois les...
J'essaie de faire fonctionner l'instruction SQL suivante, mais j'obtiens une erreur de syntaxe: SELECT A.*, COUNT(B.foo) FROM TABLE1 A LEFT JOIN TABLE2 B ON A.PKey = B.FKey GROUP BY A.* Ici, A est un tableau large avec 40 colonnes et je voudrais éviter si possible de lister chaque nom de colonne...
J'ai besoin de trouver un moyen d'accéder à SUM()toutes les valeurs positives numet de renvoyer SUM()tous les nombres positifs et une ligne individuelle pour chaque nombre négatif. Voici un exemple de DDL: Create Table #Be ( id int , salesid int , num decimal(16,4) ) Insert Into #BE Values (1, 1,...
J'essaie d'atteindre les objectifs suivants: California | Los Angeles, San Francisco, Sacramento Florida | Jacksonville, Miami Malheureusement, je reçois ", Los Angeles, San Francisco, Sacramento, Jacksonville, Miami" Je peux atteindre les résultats souhaités en utilisant la fonction STUFF, mais je...
j'ai deux tables @T1 TABLE ( Id INT, Date DATETIME ) @T2 TABLE ( Id INT, Date DATETIME ) Ces tables ont un index non clusterisé le (Id, Date) Et je rejoins ces tables SELECT * FROM T1 AS t1 INNER JOIN T2 AS t2 ON t1.Id = t2.Id WHERE t1.Date <= GETDATE() AND t2.Date <= GETDATE() Cela peut...