Toutes les versions de Microsoft SQL Server (pas MySQL). Veuillez également ajouter une balise spécifique à la version, comme sql-server-2016, car elle est souvent pertinente pour la question.
Ce dont il ne s'agit pas: Ce n'est pas une question sur les requêtes fourre-tout qui acceptent la saisie de l'utilisateur ou utilisent des variables. Cela concerne uniquement les requêtes ISNULL()utilisées dans la WHEREclause pour remplacer les NULLvaleurs par une valeur canary afin de les comparer à un prédicat, ainsi …
Tout cela fonctionne: 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 [¯\_(ツ)_/¯] …
J'ai un processus qui saisit un tas d'enregistrements (1000) et les exploite, et lorsque j'ai terminé, je dois en marquer un grand nombre comme étant traités. Je peux l'indiquer avec une grande liste d'identifiants. J'essaie d'éviter le modèle de "mises à jour dans une boucle". J'aimerais donc trouver un moyen …
J'ai une fonction définie par l'utilisateur: create function ut_FooFunc(@fooID bigint, @anotherParam tinyint) returns @tbl Table (Field1 int, Field2 varchar(100)) as begin -- blah blah end Maintenant, je veux rejoindre ceci sur une autre table, comme ceci: select f.ID, f.Desc, u.Field1, u.Field2 from Foo f join ut_FooFunc(f.ID, 1) u -- doesn't …
Il est bien connu qu'une SCHEMABINDINGfonction peut éviter un spool inutile dans les plans de mise à jour: Si vous utilisez des fichiers UDF T-SQL simples qui ne touchent aucune table (c’est-à-dire qui n’accèdent pas aux données), assurez-vous de spécifier l’ SCHEMABINDINGoption lors de la création des fichiers UDF. Les …
J'ai un zoo de 20 millions d'animaux que je trace sur ma base de données SQL Server 2005. Environ 1% d'entre eux sont noirs et environ 1% sont des cygnes. Je voulais avoir des détails sur tous les cygnes noirs et ainsi, ne voulant pas submerger la page de résultats, …
Je comprends que vous ne pouvez pas avoir ORDER BY dans une vue. (Au moins dans SQL Server 2012, je travaille avec) Je comprends également que la manière "correcte" de trier une vue consiste à placer une déclaration ORDER BYautour de la SELECTrequête. Mais étant relativement nouveau au SQL pratique …
Mon entreprise est confrontée à la décision d'acheter SQL Server 2012 Denali ou SQL Server 2008 R2 pour un nouveau serveur de base de données. Je cherche des raisons objectives de choisir l’un sur l’autre. Nos exigences: Édition standard (pour des raisons financières et l'absence de besoin de fonctionnalités d'entreprise) …
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 tâche fastidieuse. Par exemple, le …
Je lisais d'excellents articles sur la mise en cache de plans SQL Server par Kimberly Tripp, tels que celui-ci: http://www.sqlskills.com/blogs/kimberly/plan-cache-and-optimizing-for-adhoc-workloads/ Pourquoi existe-t-il même une option pour "optimiser les charges de travail ad hoc"? Cela ne devrait pas toujours être sur? Que les développeurs utilisent du SQL ad hoc ou non, …
J'ai supprimé par erreur environ 2 000 000 enregistrements d'une table SQL Server 2008 distante. Le serveur ne me donne pas accès aux fichiers de sauvegarde côté serveur. Est-il possible de récupérer ces disques?
Étant donné les composants suivants DECLARE @D DATE = '2013-10-13' DECLARE @T TIME(7) = '23:59:59.9999999' Quel est le meilleur moyen de les combiner pour produire un DATETIME2(7)résultat avec de la valeur '2013-10-13 23:59:59.9999999'? Certaines choses qui ne fonctionnent pas sont énumérées ci-dessous. SELECT @D + @T La date du type …
J'ai vu beaucoup de gens utiliser la fonction COALESCE à la place de ISNULL. Des recherches sur Internet, j'ai constaté que COALESCE est conforme à la norme ANSI. Nous avons donc un avantage: nous savons à quoi nous attendre lorsque nous l'utilisons. Cependant, ISNULL semble plus facile à lire puisqu'il …
Autant que je sache, de nombreux SGBD (par exemple, mysql, postgres, mssql) utilisent des combinaisons fk et pk uniquement pour limiter les modifications de données, mais ils sont rarement utilisés de manière native pour sélectionner automatiquement les colonnes à joindre (comme le fait la jointure naturelle avec des noms). Pourquoi …
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.