begin process at 2012 02 12 03:10:58
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Procédure

 > (SQL SERVER) REQUÊTE POUR RECHERCHER UN {GUID} DANS TOUS LES CHAMPS DE TOUTES LES TABLES D'UNE BASE DE DONNÉES

(SQL SERVER) REQUÊTE POUR RECHERCHER UN {GUID} DANS TOUS LES CHAMPS DE TOUTES LES TABLES D'UNE BASE DE DONNÉES


 Information sur la source

Note :
Aucune note
Catégorie :Procédure Classé sous :SQL Server, colonnes, GUID, rechercher Niveau :Initié Date de création :26/10/2009 Date de mise à jour :04/11/2009 17:58:39 Vu / téléchargé :13 156 / 460

Auteur : lassaad83

Ecrire un message privé
Site perso
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

Avec cette procédure stockée vous pourrez rechercher un {GUID} dans toutes les colonnes de toutes les tables d'une base de données SQL SERVER. Elle est pratique quand on ne dispose pas de modèle conceptuel de la base.

Source

  • -- Crée par : L.Attig
  • -- Date : 10/2009
  • -- http://www.etoile-du-sahel.com/
  • DECLARE @strValeur uniqueidentifier
  • SET @strValeur = '{0F447BEF-C5BF-DE11-871F-00155D003604}'
  • IF OBJECT_ID('tempdb..#resultat') IS NOT NULL DROP TABLE #resultat
  • CREATE TABLE #resultat (TableSchema SYSNAME, TableName SYSNAME);
  • DECLARE @sql NVARCHAR(MAX);
  • WITH cte_all_tables(SQL) AS (
  • SELECT
  • N' INSERT #resultat (TableSchema, TableName)'
  • + N' SELECT ''' + t.TABLE_SCHEMA + ''', ''' + t.TABLE_NAME + N''''
  • + N' FROM ' + QUOTENAME(t.TABLE_SCHEMA) + '.' +QUOTENAME(t.TABLE_NAME)
  • + N' WHERE ' +
  • (
  • SELECT QUOTENAME(c.COLUMN_NAME) + N' = @strValeur OR '
  • FROM INFORMATION_SCHEMA.Columns c
  • WHERE c.TABLE_NAME = t.TABLE_NAME
  • AND c.TABLE_SCHEMA = t.TABLE_SCHEMA
  • AND c.DATA_TYPE = 'uniqueidentifier'
  • FOR XML PATH('')
  • ) + N'0=1'
  • FROM INFORMATION_SCHEMA.Columns c
  • INNER JOIN INFORMATION_SCHEMA.Tables t
  • ON c.TABLE_NAME = t.TABLE_NAME
  • AND t.TABLE_SCHEMA = c.TABLE_SCHEMA
  • AND t.TABLE_TYPE = 'BASE TABLE'
  • WHERE DATA_TYPE = 'uniqueidentifier')
  • SELECT @sql = (SELECT [SQL]+nchar(10) FROM cte_all_tables FOR XML PATH(''));
  • PRINT @SQL;
  • exec sp_executesql @sql, N'@strValeur uniqueidentifier', @strValeur;
  • -- Retourne la liste des tables
  • SELECT distinct(Tablename) FROM #resultat
-- Crée par : L.Attig
-- Date		: 10/2009
-- http://www.etoile-du-sahel.com/
DECLARE @strValeur uniqueidentifier
SET @strValeur = '{0F447BEF-C5BF-DE11-871F-00155D003604}'

IF OBJECT_ID('tempdb..#resultat') IS NOT NULL DROP TABLE #resultat
CREATE TABLE #resultat (TableSchema SYSNAME, TableName SYSNAME);
DECLARE @sql NVARCHAR(MAX);
WITH cte_all_tables(SQL) AS (
    SELECT
          N' INSERT #resultat (TableSchema, TableName)'
        + N' SELECT ''' + t.TABLE_SCHEMA + ''', ''' + t.TABLE_NAME + N'''' 
        + N' FROM ' + QUOTENAME(t.TABLE_SCHEMA) + '.' +QUOTENAME(t.TABLE_NAME)
        + N' WHERE ' +
        (
                SELECT QUOTENAME(c.COLUMN_NAME) + N' = @strValeur OR '
                FROM INFORMATION_SCHEMA.Columns c
                WHERE c.TABLE_NAME = t.TABLE_NAME
                        AND c.TABLE_SCHEMA = t.TABLE_SCHEMA
                        AND c.DATA_TYPE = 'uniqueidentifier'
                FOR XML PATH('')
        ) + N'0=1'
   FROM INFORMATION_SCHEMA.Columns c
        INNER JOIN INFORMATION_SCHEMA.Tables t
        ON c.TABLE_NAME = t.TABLE_NAME
        AND t.TABLE_SCHEMA = c.TABLE_SCHEMA
        AND t.TABLE_TYPE = 'BASE TABLE'
    WHERE DATA_TYPE = 'uniqueidentifier')
SELECT @sql = (SELECT [SQL]+nchar(10) FROM cte_all_tables FOR XML PATH(''));

PRINT @SQL;
exec sp_executesql @sql, N'@strValeur uniqueidentifier', @strValeur;

-- Retourne la liste des tables
SELECT distinct(Tablename) FROM #resultat

 Conclusion

Enjoy ...

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

26 octobre 2009 12:19:17 :
Ajout du source
04 novembre 2009 14:14:27 :
Code pour base de donnée SQL SERVER.

 Sources du même auteur

Source avec Zip GÉNÉRER DES REQUETES INSERT À PARTIR DES DONNÉES EXISTANTES ...

 Sources de la même categorie

IMPORTATION DE FICHIER TEXT (CSV) RAPIDEMENT par vladam
Source avec une capture T-SQL - SPLIT SANS TABLE TEMPORAIRE par TheOnlyMaX
[ORACLE]DÉTERMINER LA DATE DU PREMIER JOUR D'UNE SEMAINE PAR... par Bouillou2
T-SQL - PROCÉDURE - STOCKÉE - PLACER DANS UNE TABLE LE RÉSUL... par zavier666
SQL LECTURE IMPORT DE FICHIER TEXTE par PHILIPPO

 Sources en rapport avec celle ci

CRÉATION D'UNE BASE DE DONNÉE AVEC FICHIER DE DONNÉES, JOURN... par fearmaker
MYSQL : CRÉATION D'UN GUID par maitredede
RÉINDEXER TOUTES LES TABLES D'UNE BASE DE DONNÉES par pneau
Source avec Zip REQUETES DE DÉSACTIVATION ET DE RÉACTIVATIONS DES CONTRAINTE... par pneau
SQL SERVER : VÉRIFICATION DE L'ESPACE LIBRE SUR LE SERVEUR par skweeky

Commentaires et avis

Commentaire de Delphiprog le 03/11/2009 20:52:33 administrateur CS

Ce serait bien de préciser avec quel SGBD ce code est utilisable...

Commentaire de lassaad83 le 04/11/2009 14:39:41

Il s'agit d'une source pour SQL SERVER 2005 et plus.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Insertion auatomatique de GUID sous sql serveur 2000 [ par Arthenius ] Salut tout le monde,voila ne souhaitant plus utiliser les compteurs auto-incrementer pour mes primary key (car je souhaite pouvoir intégrer dans ajouter des colonnes lors d'un SELECT [ par marhoa ] Bonjour, J'aimerais faire une requete SQL un peu du genre UNION mais où, au lieu d'ajouter de nouvelles lignes, je pourrais ajouter de nouvelles colo Lignes et colonnes [SQL-server] [ par paf le chien ] Bonjour à tous, je vous présente mon petit problème : J'ai des fichiers au formats CSV qui contiennent des données. Je veux stocker ces données dans requete sur MySQL [ par Rjoe ] bonjour il ya une requete que j'arrive pas a faire si vous pouviez m'aidez svp  alors la table est: employe(empno, nom, date_emb) la requete Concatenation de colonnes et selection dans celle ci [ par IslandMan974 ] Bonjour,je desire si possible faire une selection sur une colonnes qui porvient de 5 autres colonnes que j ´ai concatenees.Mais je bloque...Ma Requete Passer de colonnes à lignes [ par Fianchetto ] Bonjour à tous, je suis sur une requete qui me pose des problèmes depuis quelques temps que je soumet à votre sagacité. Pour faire simple, j'ai une pr create dynamique de colonnes [ par stefsoft ] Bonjour,je crée un table dynamiquement dans ma procédure stockéeCREATE TABLE #table (id int, nom nvarchar(30))je veux lui ajouter des colonnes dynamiq creer une table de plus de 11 colonnes vers Access par programmation [ par romagny13 ] Bonjour,- j'utilise visual studio 2005 en C# et je passe par System.Data.OleDb pour executer ma requete  -lorsque j'execute une requete permettant de sum de colonnes [ par cudenetf ] bonjour,je cherche a faireselect sum(....) as som1,sum(;;;;;) as som2, som1+som2 as som3j'aimerais bien ne pas avoir a retaper tt ce que j'ai fait pou Manipulation des champs OUI/NON [ par impact74 ] Bonjour à toutes et à tous !!!Je bloque sur un problème, je vais tenter d'être claire.J'ai une table dans access qui contient les colonnes : PC  | Ap


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,554 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales