begin process at 2012 05 28 10:57:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP / ASP3

 > 

Base de données

 > 

SQL Server

 > 

Procedure stockée pour changer toutes les chaines d'une base de données par une autre


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Procedure stockée pour changer toutes les chaines d'une base de données par une autre

lundi 26 mai 2008 à 14:30:36 | Procedure stockée pour changer toutes les chaines d'une base de données par une autre

tom974

Voici une procédure stockée en Transact-SQL qui permet :

De remplacer toutes les occurrences d'une chaine quelconque par une autre dans toute votre base de données (dans tous les champs de tous les enregistrements de toutes les tables de votre base de données)

voici le code :

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
create proc [dbo].[changeChaine] @ancienneChaine varchar(max),@nouvelleChaine varchar(max)
as

DECLARE @NewString AS VARCHAR(50)
DECLARE @AncString AS VARCHAR(50)
DECLARE @SQLCMD AS VARCHAR(500)

SET @AncString = @ancienneChaine
SET @NewString = @nouvelleChaine

DECLARE CURSORLISTCHEMA CURSOR FOR SELECT 'Update ['+ TABLE_SCHEMA +'].['+ TABLE_NAME +'] set '+ COLUMN_NAME +' = '''
            + @NewString + ''' WHERE '+COLUMN_NAME+' = '''+@AncString+''''

FROM INFORMATION_SCHEMA.COLUMNS WHERE DATA_TYPE='nchar'or DATA_TYPE='varchar' or DATA_TYPE='nvarchar'

OPEN CURSORLISTCHEMA
FETCH NEXT FROM CURSORLISTCHEMA INTO @SQLCMD
WHILE (@@fetch_status >= 0)
BEGIN
PRINT @SQLCMD
EXECUTE(@SQLCMD)
FETCH NEXT FROM CURSORLISTCHEMA INTO @SQLCMD
END
CLOSE CURSORLISTCHEMA
DEALLOCATE CURSORLISTCHEMA

Ainsi toutes les chaines anciennes seront remplacées par les nouvelles

Me reste quelques point à ameillorer :
l'optimisation : possibilité de faire la même chose une structure while
Aussi de ne pas toucher aux tables systèmes

Si vous avez des idées je suis preneur...


Cette discussion est classée dans : base, données, stockée, varchar, cursorlistchema


Répondre à ce message

Sujets en rapport avec ce message

base de données à champs variables........ [ par JPonce ] Bonjour, Dans le cadre d'un projet de fin d'étude, il fallait mettre au point une procédure de "création de table puis remplissage de celle-ci par un Afficher une image d'une base de données sur une page web [ par jimini ] Est-ce que quelqu'un sait comment afficher une image provenant d'une table ? J'aimerais enregistrer une image par ligne dans ma base de données. Tout Quelle base de données utiliser avec l'asp??? [ par jeff ] Bonjour, Je suis encore novice en matiere d'asp et je voulais savoir quelle base de données serait le plus approprié pour l'utiliser avec des page ASP et Vb6 [ par Ric ] Salut,J'ai une appli web en asp avec une base de données Access sur un serveur, et je souhaiterai attaquer la base de données depuis une interface Vis Requete et Access97 [ par froggy ] J'utilise une page ASP pour "dialoguer" avec une base access97. il n'y a aucun problème pour des requêtes d'extraction de données mais dès que j'essai Pb d'insertion [ par cool ] ]Bjr,J'ai un problème lorsque j'execute ma page ASP.J'ai fait un formulaire pour enregistrer les données dans une base access.Tout marche bien quand l Base de données [ par Jiri ] Bonjour,J'ai une table qui contient 1000 enregistrement, je veux que lorsqu'un utilisateur reçoit 50 enregistrement par page de consultation, c à d Co Insertion de champs vide dans une base access [ par cloe ] BonjourJ'utilise un formulaire afin de saisir des données et des les enregistrer dans ma base de données. Pour les champs de type texte et qui sont vi Base de données, ca marche comment ? [ par Clem ] Comment marchent les bases de données ? Je n'ais rien compris probleme de MAJ en ASP dans une base de données ACCESS 97 [ par shadowmaster ] voila mon probleme :je programme un site intranet en ASP avec la gestion d'une base de données derriere. ma connexion à la base de données (ACCESS 97)


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 3,604 sec (3)

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