Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Questions basiques sur SQLServer

3 réponses
Avatar
astalavista
Bonjour,

Connaisant mieux Oracle
et ne connaissant pas SQLServer
un ami (?) m'a affirmé que l'on pouvait:
- "rollbacker" un drop table
- choisir un charset par table

Pouvez-vous me confirmer ou non
ce 2 points qui me parsissent surprenants ...

Merci d'avance

3 réponses

Avatar
Med Bouchenafa
La réponse est positive pour les deux questions
Il est même possible de créer un charset par colonne dans SQL Server.

Voici un exemple qui crée une table avec deux colonnes
Chaque colonne possède un charset different
Ensuite cette table est détruite dans une transaction rollabackée

CREATE TABLE tblTest1
(
colA VARCHAR(10) COLLATE French_CI_AS ,
colB VARCHAR(10) COLLATE French_CS_AI
)
go
INSERT INTO tblTest1 VALUES('aAée','aAée')
go
SELECT * FROM tblTest1
go
BEGIN TRAN
DROP TABLE tblTest1
ROLLBACK TRAN
go
SELECT * FROM tblTest1


Je t'invite à essayer par toi-même SQL Server en téléchargeant une version
d'évalution sur le site Microsoft.
Je reste persuadé que les gens de ce forum t'aideront dans cette phase de
découverte et en échange tu nous feras profiter de ta connaissance Oracle


--
Bien cordialement
Med Bouchenafa



"astalavista" a écrit dans le message de news:
43a71a77$0$13982$
Bonjour,

Connaisant mieux Oracle
et ne connaissant pas SQLServer
un ami (?) m'a affirmé que l'on pouvait:
- "rollbacker" un drop table
- choisir un charset par table

Pouvez-vous me confirmer ou non
ce 2 points qui me parsissent surprenants ...

Merci d'avance




Avatar
Fred BROUARD
Bonjour,

astalavista a écrit:
Bonjour,

Connaisant mieux Oracle
et ne connaissant pas SQLServer
un ami (?) m'a affirmé que l'on pouvait:
- "rollbacker" un drop table



Oui des transactions sont possible sur le DDL (CREATE, ALTER, DROP...) mais il
existe quelques limitations.

- choisir un charset par table



Non, la notion de CHARSET n'existe pas à la manière des NLS d'Oracle. En effet
le concept de NLS est propre à Oracle et mélange un peu tout (nombre, date,
chaînes de car...).
En revanche MS SQL Server utilise un concept beaucoup plus fin que celui
d'Oracle et qui plus est normatif (SQL 2 - 1992). C'est le concept de collation.
La collation reposant elle même sur un jeu de caractères, mais ces deux éléments
ne doivent pas être mélangés. En effet un jeu de caractèrerepose sur une
problématique physique et la théorie des SGBDR nous enseigne que le monde
physique n'a pas à être connu du SGBDR ni de SQL.

Une collation est un ensemble de régles définissant le comportement des chaînes
de caractères devant les tris et les comparaisons.
Dans SQL Server la collation peut être spécifiée :
- pour le serveur lors de son installation
- pour chaque nouvelle base créée
- pour chaque colonne dans une table
- à la volée pour une expression chaînes de caractères dans une requête.

SQL Server 2000 implémente plus de 700 collations et la v 2005 a rajouter des
collation binaires particulières reposant sur le jeu de caractères UTF-16.

Lisez l'article que j'ai écrit à ce sujet :
http://sqlpro.developpez.com/cours/sqlserver/collations/


Pouvez-vous me confirmer ou non
ce 2 points qui me parsissent surprenants ...



Surprenant ??? C'est moi qui le suit...
Ces deux points figurent dans le norme SQL depuis 1992, soit près de 15 ans !
Mais il est vrai qu'Oracle est très loin de la norme SQL, malgré que son
rapporteur, Jim Melton, encadre le staff technique d'Oracle !!!

A +


Merci d'avance





--
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 ***********************
Avatar
astalavista
Merci de ces précisions ...