begin process at 2010 03 15 15:57:06
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Trucs & Astuces

 > SQL SERVER 2005 - CHANGER LE TYPE DE DONNEES DE TOUTES LES COLONNES AYANT UN NOM FOURNI

SQL SERVER 2005 - CHANGER LE TYPE DE DONNEES DE TOUTES LES COLONNES AYANT UN NOM FOURNI


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Trucs & Astuces Classé sous :change, colonne, type, modification Niveau :Expert Date de création :27/10/2006 Vu :3 552

Auteur : fabrice69

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note


 Description

Lors d'utilisation d'outil générique de création de tables de données, on peut se retrouver avec des type de données qui doivent être changé pour améliorer les performances.
De ce fait, ce script permet d'effectuer ce changement de type automatiquement sur tous les champs ayant le nom fourni.

Source

  • USE [MaBase]
  • GO
  • DECLARE @NewType AS VARCHAR(50)
  • DECLARE @ColumnName AS VARCHAR(50)
  • DECLARE @SQLCMD AS VARCHAR(MAX)
  • SET @NewType = 'VARCHAR(14)'
  • SET @ColumnName = 'MONCHAMP'
  • DECLARE CURSORLISTCHEMA CURSOR FOR SELECT 'ALTER TABLE ['+ TABLE_SCHEMA +'].['+ TABLE_NAME +'] ALTER COLUMN '+ COLUMN_NAME +' '+ @NewType
  • FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = @ColumnName
  • 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
USE [MaBase]
GO

DECLARE @NewType			AS VARCHAR(50)
DECLARE @ColumnName		AS VARCHAR(50)
DECLARE @SQLCMD		AS VARCHAR(MAX)	

SET @NewType = 'VARCHAR(14)'
SET @ColumnName = 'MONCHAMP'

DECLARE CURSORLISTCHEMA CURSOR FOR SELECT 'ALTER TABLE ['+ TABLE_SCHEMA +'].['+ TABLE_NAME +'] ALTER COLUMN '+ COLUMN_NAME +' '+ @NewType 
					FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = @ColumnName

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

 Conclusion

Bon coding

Romelard Fabrice [MVP]


 Sources du même auteur

SQL SERVER - OBTENIR LES VALEURS CORRESPONDANT A DES UNICODE
SQL SERVER 2000 - VIDER ET COMPACTER TOUTES LES BASES DE DON...
SQL SERVER 2005 : OBTENIR LA LISTE DES BASES DE CONTENU D'UN...
SQL SERVER - OBTENIR LA POSITION DU PREMIER CHIFFRE D'UNE CH...
SQL SERVER - UPDATE D'UNE TABLE EN BOUCLE PAR LOT

 Sources de la même categorie

Source avec Zip Source avec une capture SQL SERVER - GENERATION AUTOMATIQUE D'UNE RETRO-DOCUMENTATIO... par FENETRES
[SQL SERVEUR] VÉRIFIER L'ESPACE OCCUPÉ DANS UNE BASE DE DONN... par Hyperion
TROUVER LES PROCHAINS ANNIVERSAIRES par zefo
REQUÊTE SQL POUR DÉTERMINER L'ESPACE OCCUPÉ DANS LES TABLESP... par sgoriaud
SQL SERVER - OBTENIR LES VALEURS CORRESPONDANT A DES UNICODE par fabrice69

 Sources en rapport avec celle ci

Source avec une capture SQL SERVER 2005 - GESTION DE LA LARGEUR DES COLONNES D'UNE R... par FENETRES
CHANGER TOUTES LES COLONNES D'UNE BASES DE DONNÉES D'UN TYPE... par NHenry
SQL SERVER 2005 - LISTER LES INDEXES AVEC LE NOMBRE DE LIGNE... par fabrice69
SQL SERVER 2005 - CHANGER LE OWNER DE TOUS LES SCHEMAS par fabrice69
SQL SERVER 2005 - CHANGER LE SCHEMA DES OBJETS DANS LES OBJE... par fabrice69

Commentaires et avis

Commentaire de Tukkkko le 29/10/2006 00:56:34

Il fallait vraiment y penser, heureusement qu'on a des MVP productifs :D

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Modif colonne MONEY en decimal [ par caligreg ] Bonjour,j'aimerais modifier le type de colonne d'une table pour la passer de type MONEY en type DECIMAL pour pouvoir saisir plus de 2 chiffres aprés l Récupérer une colonne correspondante à une autre [ par guivrator ] Bonjour,J'explique rapidement mon problème:J'ai un tableau qui contient entre autres 3 informations importantes l'individu, la classe, et un type Dans Ajout d'une colonne de type non null [ par RMI ] Bonjour, Je souhaite ajouter un colonne de type non null dans une table d&#233;j&#224; existante, cette colonne ne doit pas avoir de valeur par d remplacement d'un caractère dans une colonne de ma BDD [ par commode59 ] bonjour a tous,J'ai un petit soucis avec ma bdd sql, la plus par de mes enregistrements ont &#233;t&#233; fait avec des '_' &#224; la place d'espace.& table type de document [ par moostach ] Bonjour, il me semble avoir vu par l'un de vos sites ou l newsletter un article ou source traitant de document et de leur type en terme de fichier inf ACCESS : Valeur par défaut [ par alonsyl ] bonjour, j'essaie d'ajouter une colonne a ma&nbsp;base MSACCESS via une rqte SQL.apres verification, je me suis appercu que ca ne fonctionnait pas car grouper par une colonne [ par Fildomen ] Salut !!j'ai une table comme ceciid&nbsp;&nbsp; utilisateur&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type1&nbsp;&nbsp;&nbsp;&nbsp;uti1&nbsp;&nbsp;&nbsp;&nbsp;&nb dates qui plantent tout !! [ par chamallow ] Bonjour,Alors voil&#224;, j'utilise une base SQL SERVER. Pour me rassurer, il n'existe pas de type date pour ce type de base non? (J'utilise datetime, un BETWEEN qui me chagrine !! [ par nadegeva ] Bonjour &#224; tous,1/ je d&#233;bute en PHP mais je me soigne.2/ Voici mon probl&#232;me :J'ai un petit formulaire avec un champ Pbm de foreign key pas prises en compte [ par romca ] Salut voilà j'ai un pbm sous ma distrib mes foreign key ne sont pas pris en compte et pourtant j'ai aucune erreur.<?xml:namespace prefix = o ns = "urn


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

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

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