OVH Cloud OVH Cloud

Compteur en transact SQl

1 réponse
Avatar
La Tulipe
Qu'elle est la syntaxe permettant de créer un compteur, donner sa valeur et
son incrément sur une colonne sans modifier son contenu, ni recreer la table.
Il est possible de le faire par l'interface graphique, ça doit donc être
faisable par script transact SQL.

Merci de vos réponses
--
La Tulipe

1 réponse

Avatar
SQLpro [MVP]
La Tulipe a écrit :
Qu'elle est la syntaxe permettant de créer un compteur, donner sa valeur et
son incrément sur une colonne sans modifier son contenu, ni recreer la table.
Il est possible de le faire par l'interface graphique, ça doit donc être
faisable par script transact SQL.



Voici :

CREATE TABLE T_SANS_COMPTEUR_SCP
(SCP_ID INT NOT NULL PRIMARY KEY,
SCP_DATA VARCHAR(16))
GO

INSERT INTO T_SANS_COMPTEUR_SCP VALUES (1, 'titi')
INSERT INTO T_SANS_COMPTEUR_SCP VALUES (5, 'tata')
GO

-- ajout du compteur à la table T_SANS_COMPTEUR_SCP :

BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
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_T_SANS_COMPTEUR_SCP
(
SCP_ID int NOT NULL IDENTITY (1, 1),
SCP_DATA varchar(16) NULL
) ON [PRIMARY]
GO
SET IDENTITY_INSERT dbo.Tmp_T_SANS_COMPTEUR_SCP ON
GO
IF EXISTS(SELECT * FROM dbo.T_SANS_COMPTEUR_SCP)
EXEC('INSERT INTO dbo.Tmp_T_SANS_COMPTEUR_SCP (SCP_ID, SCP_DATA)
SELECT SCP_ID, SCP_DATA FROM dbo.T_SANS_COMPTEUR_SCP (HOLDLOCK TABLOCKX)')
GO
SET IDENTITY_INSERT dbo.Tmp_T_SANS_COMPTEUR_SCP OFF
GO
DROP TABLE dbo.T_SANS_COMPTEUR_SCP
GO
EXECUTE sp_rename N'dbo.Tmp_T_SANS_COMPTEUR_SCP',
N'T_SANS_COMPTEUR_SCP', 'OBJECT'
GO
ALTER TABLE dbo.T_SANS_COMPTEUR_SCP ADD CONSTRAINT
PK__T_SANS_COMPTEUR___10E07F16 PRIMARY KEY CLUSTERED
(
SCP_ID
) ON [PRIMARY]

GO
COMMIT



Merci de vos réponses




A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************