begin process at 2010 07 29 22:37:51
  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é :5 805 / 247

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

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
Source avec Zip GÉNÉRER DES REQUETES INSERT À PARTIR DES DONNÉES EXISTANTES ... par lassaad83

 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

Juillet 2010
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

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 : 0,733 sec (4)

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