Sql renommer une table [Fermé]

ruth - 12 juil. 2004 à 10:30 - Dernière réponse :  Flog78
- 2 mai 2011 à 18:02
SVP comment renomme t on une table en SQL?
j'ai essayé "rename ancien_nom to nouveau_nom"
mais ca ne marche pas avec access!
nb la requete doit marcher avec access et oracle!
(il parait que la syntaxe de rename varie en fonction du SGBD)
nb je developpe sous vb !
MERCI
Afficher la suite 

17 réponses

grofwa 447 Messages postés jeudi 24 juillet 2003Date d'inscription 21 juillet 2006 Dernière intervention - 12 juil. 2004 à 13:35
+26
Utile
2
Salut,

Pour la petite histoire, depuis Oracle 8i, tu peux utiliser la commande
alter table bad_name rename to good_name;


Michael.

Ne vous souciez pas de n'être pas remarqué ; cherchez 
plutôt à faire quelque chose de remarquable [Confucius]
Cette réponse vous a-t-elle aidé ?  
Merci, gars, précise tout même que c'est oracle
Parfait ça marche aussi avec MySQL.
+4
Utile
1
variable_base.TableDefs("«ancien nom»­").Name = "«nouveau nom»

la table ne doit pas être ouverte pour être renommée
merci ca marche
Utilisateur anonyme - 12 juil. 2004 à 10:55
+1
Utile
bonjour
pour moi le plus simple tu copie ton ancienne table avec ctrl c
tu l efface et tu remets l ancienne ctrl v
tu la renomme et tu la creer
a plus
+1
Utile
1
merci rachid!
le probleme est qu'il faut le faire par code exclusivement!
merci
Utilisateur anonyme - 12 juil. 2004 à 11:02
ok pas de souci
a plus
0
Utile
Je pense connaître la solution en VB.NET. Dis moi si tu es interessé.
tioneb69
0
Utile
merci !
oui je suis interessee
0
Utile
Cela n'est pas possible de renommer une table par script sous Oracle, il créer une table avec le nouveau nom et faire select insert dans celle-ci puis supprimer l'ancien table...
0
Utile
merci mais la requete proposée ne marche pas sous access!
0
Utile
Deja je voudrais savoir comment tu te connectes à tes bases (oledb, oldb, oracle...). Je pense que le plus simple est que tu fasses deux connexions bien distinctes (une pour access et une pour oracle) comme ça tu peux mettre ce que tu veux dans le commandText. Tu me suis ?
0
Utile
Au fait est-ce que tu es sur de disposer des droits suffisants sur ta base oracle?
grofwa 447 Messages postés jeudi 24 juillet 2003Date d'inscription 21 juillet 2006 Dernière intervention - 12 juil. 2004 à 14:07
0
Utile
J'ai trouvé ce bout de code sur le web, si ça peut t'aider...

Public Function RenameTable(DatabaseName As String, _
   ByVal OldTableName As String, _
   ByVal NewTableName As String) As Boolean

'DataBaseName is the file/path name of the database
'OldTableName is the name of the table you want to rename
'NewTableName is new table name
'Returns true if successful, false otherwise

'Project must include reference to DAO

On Error GoTo errorhandler
Dim oDB As DAO.Database
Dim td As DAO.TableDef

Set oDB = Workspaces(0).OpenDatabase(DatabaseName)
On Error GoTo errorhandler
If Not TableExists(oDB, OldTableName) Then GoTo errorhandler
If TableExists(oDB, NewTableName) Then GoTo errorhandler
'Create table object
Set td = oDB.TableDefs(OldTableName)
td.Name = NewTableName
oDB.TableDefs.Refresh
oDB.Close
RenameTable = True
Exit Function

errorhandler:
If Not oDB Is Nothing Then oDB.Close
Set td = Nothing

End Function


Ne vous souciez pas de n'être pas remarqué ; cherchez 
plutôt à faire quelque chose de remarquable [Confucius]
0
Utile
Merci pr l'aide!
j'ai une connection dont les propriété sont distincte en fonction du type de la bases de donnée en cours!
j'utilise VB 6 j'essaye d'exploité l'exemple donnée avec ADO!
mais au premier test ,ca n'a pas l'air de marcher!
merci
Ruth
tioneb69 6 Messages postés mardi 22 juin 2004Date d'inscription 12 juillet 2004 Dernière intervention - 12 juil. 2004 à 22:10
0
Utile
Bon je ne suis pas sur de pouvoir t'aider parce que apparement il y a une grande différence entre VB 6.0 et VB.NET.
De toute façon je te répondrai demain matin.
Sinon pour être sur d'avoir bien compris ton problème: tu arrives à rennomer une table oracle grâce à ta requète oracle mais tu voudrais faire la même chose avec ta base access et tu n'y arrives pas. C'est ça?