OVH Cloud OVH Cloud

Modifier structure d une table

6 réponses
Avatar
Maxxfr_75
Bonjour,

J'ai une bdd sur sqlserver2000 avec une table qui s'appelle "evenement" et 3
champs :
- "datedebut" de taille 10 et de type date,
- "titre" de taille 50 et de type nvarchar
- "descriptionfr" de taille 500 et de type nvarchar.

Je souhaiterai modifier la taille des champs "titre" et description" ainsi
que le type avec une requete sql. Jai essaye d'ecrire une requete avec
l'qnqlyseur de reqeute sql dqns l'entreprise manager en ecrivqant la requete
suivante "alter table evenement..." mais ca ne foncitonne pas

Pouvez vous me donner un coup de main?
Merci pour votre aide

Pascal
Ps : connaissez vous un site avec des tutoriaux pour apprendre le langage sql?

6 réponses

Avatar
Jean-Nicolas BERGER
Donne-nous ton "ALTER ..." au complet, et le message d'erreur obtenu.
D'autre part, vois ALTER COLUMN ...

JN.


"Maxxfr_75" a écrit dans le message de
news:
Bonjour,

J'ai une bdd sur sqlserver2000 avec une table qui s'appelle "evenement" et
3
champs :
- "datedebut" de taille 10 et de type date,
- "titre" de taille 50 et de type nvarchar
- "descriptionfr" de taille 500 et de type nvarchar.

Je souhaiterai modifier la taille des champs "titre" et description" ainsi
que le type avec une requete sql. Jai essaye d'ecrire une requete avec
l'qnqlyseur de reqeute sql dqns l'entreprise manager en ecrivqant la
requete
suivante "alter table evenement..." mais ca ne foncitonne pas

Pouvez vous me donner un coup de main?
Merci pour votre aide

Pascal
Ps : connaissez vous un site avec des tutoriaux pour apprendre le langage
sql?


Avatar
Synopsis
alter table evenement
alter column titre nvarchar(100)

alter table evenement
alter column description nvarchar(1000)


"Maxxfr_75" a écrit dans le message de
news:
Bonjour,

J'ai une bdd sur sqlserver2000 avec une table qui s'appelle "evenement" et


3
champs :
- "datedebut" de taille 10 et de type date,
- "titre" de taille 50 et de type nvarchar
- "descriptionfr" de taille 500 et de type nvarchar.

Je souhaiterai modifier la taille des champs "titre" et description" ainsi
que le type avec une requete sql. Jai essaye d'ecrire une requete avec
l'qnqlyseur de reqeute sql dqns l'entreprise manager en ecrivqant la


requete
suivante "alter table evenement..." mais ca ne foncitonne pas

Pouvez vous me donner un coup de main?
Merci pour votre aide

Pascal
Ps : connaissez vous un site avec des tutoriaux pour apprendre le langage


sql?
Avatar
Fred BROUARD
A lire sur le sujet :
http://sqlpro.developpez.com/cours/sqlaz/ddl/?page=partie2#L7.6.1

Voici un script de MS SQL Server sur un exemple pour passer la colonne c1 de la
table B de int à nchar(10) :
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
CREATE TABLE dbo.Tmp_B
(
c1 nchar(10) NOT NULL
) ON [PRIMARY]
GO
IF EXISTS(SELECT * FROM dbo.B)
EXEC('INSERT INTO dbo.Tmp_B (c1)
SELECT CONVERT(nchar(10), c1) FROM dbo.B TABLOCKX')
GO
DROP TABLE dbo.B
GO
EXECUTE sp_rename N'dbo.Tmp_B', N'B', 'OBJECT'
GO
ALTER TABLE dbo.B ADD CONSTRAINT
PK__B__6ABAD62E PRIMARY KEY CLUSTERED
(
c1
) ON [PRIMARY]

GO
COMMIT


A +



Maxxfr_75 a écrit:
Bonjour,

J'ai une bdd sur sqlserver2000 avec une table qui s'appelle "evenement" et 3
champs :
- "datedebut" de taille 10 et de type date,
- "titre" de taille 50 et de type nvarchar
- "descriptionfr" de taille 500 et de type nvarchar.

Je souhaiterai modifier la taille des champs "titre" et description" ainsi
que le type avec une requete sql. Jai essaye d'ecrire une requete avec
l'qnqlyseur de reqeute sql dqns l'entreprise manager en ecrivqant la requete
suivante "alter table evenement..." mais ca ne foncitonne pas

Pouvez vous me donner un coup de main?
Merci pour votre aide

Pascal
Ps : connaissez vous un site avec des tutoriaux pour apprendre le langage sql?



--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Avatar
Michel PRIORI
houaou ...
Alors là j'en reste pentois : SQL serveur est capable de faire un rollback
d'un ordre DDL ! faut l'dire à Oracle ;-))


"Fred BROUARD" a écrit :

A lire sur le sujet :
http://sqlpro.developpez.com/cours/sqlaz/ddl/?page=partie2#L7.6.1

Voici un script de MS SQL Server sur un exemple pour passer la colonne c1 de la
table B de int à nchar(10) :
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
CREATE TABLE dbo.Tmp_B
(
c1 nchar(10) NOT NULL
) ON [PRIMARY]
GO
IF EXISTS(SELECT * FROM dbo.B)
EXEC('INSERT INTO dbo.Tmp_B (c1)
SELECT CONVERT(nchar(10), c1) FROM dbo.B TABLOCKX')
GO
DROP TABLE dbo.B
GO
EXECUTE sp_rename N'dbo.Tmp_B', N'B', 'OBJECT'
GO
ALTER TABLE dbo.B ADD CONSTRAINT
PK__B__6ABAD62E PRIMARY KEY CLUSTERED
(
c1
) ON [PRIMARY]

GO
COMMIT


A +



Maxxfr_75 a écrit:
> Bonjour,
>
> J'ai une bdd sur sqlserver2000 avec une table qui s'appelle "evenement" et 3
> champs :
> - "datedebut" de taille 10 et de type date,
> - "titre" de taille 50 et de type nvarchar
> - "descriptionfr" de taille 500 et de type nvarchar.
>
> Je souhaiterai modifier la taille des champs "titre" et description" ainsi
> que le type avec une requete sql. Jai essaye d'ecrire une requete avec
> l'qnqlyseur de reqeute sql dqns l'entreprise manager en ecrivqant la requete
> suivante "alter table evenement..." mais ca ne foncitonne pas
>
> Pouvez vous me donner un coup de main?
> Merci pour votre aide
>
> Pascal
> Ps : connaissez vous un site avec des tutoriaux pour apprendre le langage sql?

--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************




Avatar
Fred BROUARD
Par définition une transaction s'applique à TOUS les ordres SQL du DDL, DML et
DCL. Si Oracle n'est pas capable de le faire (ce que je doute) c'est anormal, au
sens "normatif" du terme.

A +

Michel PRIORI a écrit:
houaou ...
Alors là j'en reste pentois : SQL serveur est capable de faire un rollback
d'un ordre DDL ! faut l'dire à Oracle ;-))


"Fred BROUARD" a écrit :


A lire sur le sujet :
http://sqlpro.developpez.com/cours/sqlaz/ddl/?page=partie2#L7.6.1

Voici un script de MS SQL Server sur un exemple pour passer la colonne c1 de la
table B de int à nchar(10) :
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
CREATE TABLE dbo.Tmp_B
(
c1 nchar(10) NOT NULL
) ON [PRIMARY]
GO
IF EXISTS(SELECT * FROM dbo.B)
EXEC('INSERT INTO dbo.Tmp_B (c1)
SELECT CONVERT(nchar(10), c1) FROM dbo.B TABLOCKX')
GO
DROP TABLE dbo.B
GO
EXECUTE sp_rename N'dbo.Tmp_B', N'B', 'OBJECT'
GO
ALTER TABLE dbo.B ADD CONSTRAINT
PK__B__6ABAD62E PRIMARY KEY CLUSTERED
(
c1
) ON [PRIMARY]

GO
COMMIT


A +



Maxxfr_75 a écrit:

Bonjour,

J'ai une bdd sur sqlserver2000 avec une table qui s'appelle "evenement" et 3
champs :
- "datedebut" de taille 10 et de type date,
- "titre" de taille 50 et de type nvarchar
- "descriptionfr" de taille 500 et de type nvarchar.

Je souhaiterai modifier la taille des champs "titre" et description" ainsi
que le type avec une requete sql. Jai essaye d'ecrire une requete avec
l'qnqlyseur de reqeute sql dqns l'entreprise manager en ecrivqant la requete
suivante "alter table evenement..." mais ca ne foncitonne pas

Pouvez vous me donner un coup de main?
Merci pour votre aide

Pascal
Ps : connaissez vous un site avec des tutoriaux pour apprendre le langage sql?



--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************







--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Avatar
Med Bouchenafa
SQL Server le fait à partir de la version 2000.
Dans les versions précédentes, ce n'était pas le cas

--
Bien cordialement
Med Bouchenafa


"Michel PRIORI" wrote in message
news:
houaou ...
Alors là j'en reste pentois : SQL serveur est capable de faire un rollback
d'un ordre DDL ! faut l'dire à Oracle ;-))


"Fred BROUARD" a écrit :

> A lire sur le sujet :
> http://sqlpro.developpez.com/cours/sqlaz/ddl/?page=partie2#L7.6.1
>
> Voici un script de MS SQL Server sur un exemple pour passer la colonne


c1 de la
> table B de int à nchar(10) :
> BEGIN TRANSACTION
> SET QUOTED_IDENTIFIER ON
> SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
> SET ARITHABORT ON
> SET NUMERIC_ROUNDABORT OFF
> SET CONCAT_NULL_YIELDS_NULL ON
> SET ANSI_NULLS ON
> SET ANSI_PADDING ON
> SET ANSI_WARNINGS ON
> COMMIT
> BEGIN TRANSACTION
> CREATE TABLE dbo.Tmp_B
> (
> c1 nchar(10) NOT NULL
> ) ON [PRIMARY]
> GO
> IF EXISTS(SELECT * FROM dbo.B)
> EXEC('INSERT INTO dbo.Tmp_B (c1)
> SELECT CONVERT(nchar(10), c1) FROM dbo.B TABLOCKX')
> GO
> DROP TABLE dbo.B
> GO
> EXECUTE sp_rename N'dbo.Tmp_B', N'B', 'OBJECT'
> GO
> ALTER TABLE dbo.B ADD CONSTRAINT
> PK__B__6ABAD62E PRIMARY KEY CLUSTERED
> (
> c1
> ) ON [PRIMARY]
>
> GO
> COMMIT
>
>
> A +
>
>
>
> Maxxfr_75 a écrit:
> > Bonjour,
> >
> > J'ai une bdd sur sqlserver2000 avec une table qui s'appelle


"evenement" et 3
> > champs :
> > - "datedebut" de taille 10 et de type date,
> > - "titre" de taille 50 et de type nvarchar
> > - "descriptionfr" de taille 500 et de type nvarchar.
> >
> > Je souhaiterai modifier la taille des champs "titre" et description"


ainsi
> > que le type avec une requete sql. Jai essaye d'ecrire une requete avec
> > l'qnqlyseur de reqeute sql dqns l'entreprise manager en ecrivqant la


requete
> > suivante "alter table evenement..." mais ca ne foncitonne pas
> >
> > Pouvez vous me donner un coup de main?
> > Merci pour votre aide
> >
> > Pascal
> > Ps : connaissez vous un site avec des tutoriaux pour apprendre le


langage sql?
>
> --
> Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
> Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
> Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
> ************************ www.datasapiens.com *************************
>
>