SQL - Server

Transcription

SQL - Server
SQL - Server
Le Langage SQL
Transact-Sql
Michel Tuffery
Notion de Base SQL 7
Logique
Physique
Nom Base
Nom logique
Fichier ‘ primaire ’
.mdf
Nom logique
Fichier ‘ secondaire ’
.mdf
Nom logique
Fichier ‘ journal ’
.ldf
Michel Tuffery (SQL7)
2
Création d ’une Base de Données
USE master
GO
à partir de la base ‘ master ’
et héritage de la base ‘ model ’
CREATE DATABASE bd1
ON
( NAME = bd1_dat,
FILENAME = 'c:\mssql7\data\bd1.mdf',
SIZE = 4,
MAXSIZE = 10,
FILEGROWTH = 1 )
GO
nom logique du fichier
augmentation à chaque
espace supplémentaire
Fichier journal ‘ bd1_log ’/ ’bd1.ldf ’
de 1MO par défaut (model)
Michel Tuffery (SQL7)
3
Création d ’une Base de Données
CREATE DATABASE bd2
ON
( NAME = bd2_dat,
FILENAME = 'c:\mssql7\data\bd2dat.mdf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 )
LOG ON
( NAME = ’bd2_log',
FILENAME = 'c:\mssql7\data\bd2log.ldf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB )
GO
Michel Tuffery (SQL7)
fichier journal
explicite
4
Création d ’une Base de Données
CREATE DATABASE bd3
ON
PRIMARY ( NAME = bd3dat1,
FILENAME = 'c:\mssql7\data\bd3dat1.mdf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = bd3dat2,
FILENAME = 'c:\mssql7\data\bd3dat2.ndf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = bd3dat3,
FILENAME = 'c:\mssql7\data\bd3dat3.ndf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20)
LOG ON
( NAME = bd3log1,
FILENAME = 'c:\mssql7\data\bd3log1.ldf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = bd3log2,
FILENAME = 'c:\mssql7\data\bd3log2.ldf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20)
GO
Michel Tuffery (SQL7)
5
Modification d ’une BD
ALTER DATABASE bd1
ADD FILE
(NAME = bd1dat2,
FILENAME =
'c:\mssql7\data\bd1dat2.ndf',
SIZE = 5MB,
MAXSIZE = 100MB,
FILEGROWTH = 10%
)
GO
ALTER DATABASE bd1
MODIFY FILE
(NAME = bd1dat2,
SIZE = 20MB)
GO
ALTER DATABASE bd1
ADD LOG FILE
( NAME = bd1log2,
FILENAME = 'c:\mssql7\data\bd1log2.ldf',
SIZE = 5MB,
MAXSIZE = 100MB,
FILEGROWTH = 5MB),
( NAME = bd1log3,
FILENAME = 'c:\mssql7\data\bd1log3.ldf',
SIZE = 5MB,
MAXSIZE = 100MB,
FILEGROWTH = 5MB)
GO
Michel Tuffery (SQL7)
6
Suppression d ’une base
•
•
•
•
sp_helpdb pour connaître les bases
drop database nom-base
Faire une sauvegarde de ‘ master ’ après
Le propriétaire est compétent avec le
‘ sysadmin ’
• sp_spaceused : informations physiques
Michel Tuffery (SQL7)
7
Les types de données
Integer
bit
Nombre entier dont la valeur est 1 ou 0.
int
Nombre entier dont la valeur est comprise entre -231 (-2 147 483 648) et
231 - 1 (2 147 483 647).
smallint
Nombre entier dont la valeur est comprise entre -215 (-32 768) et
215 - 1 (32 767).
tinyint
Nombre entier dont la valeur est comprise entre 0 et 255.
decimal et numeric
decimal
Données numériques fixes de précision et d'échelle comprises entre -1038 -1 et
1038 -1.
numeric
Synonyme de decimal.
Michel Tuffery (SQL7)
8
Les types de données
money et smallmoney
money
Valeurs de données monétaires comprises entre -263 (-922 337 203 685 477,580 8) et
263 - 1 (+922 337 203 685 477,580 7), avec une précision
d'un dix-millième d'unité monétaire.
smallmoney
Valeurs de données monétaires comprises entre - 214 748,3648 et +214 748,3647,
avec une précision d'un dix-millième d'unité monétaire.
Données numériques approchées
float
Données numériques de précision en virgule flottante comprises entre -1.79E + 308
et 1.79E + 308.
real
Données numériques de précision en virgule flottante comprises entre -3.40E + 38
et 3.40E + 38.
Michel Tuffery (SQL7)
9
Les types de données
datetime et smalldatetime
datetime
Données de date et d'heure comprises entre le 1er janvier 1753
et le 31 décembre 9999, avec une précision de trois centièmes
de seconde ou de 3,33 millisecondes.
smalldatetime
Données de date et d'heure comprise entre le 1er janvier 1900
et le 6 juin 2079, avec une précision d'une minute.
Données numériques
cursor
Référence à un curseur.
timestamp
Nombre unique pour l'ensemble de la base de données.
uniqueidentifier
Identificateur global unique (GUID).
Michel Tuffery (SQL7)
10
Les types de données
Chaînes de caractères
char
Données non Unicode de longueur fixe d'un maximum de 8 000 caractères.
varchar
Données non Unicode de longueur variable d'un maximum de 8 000 caractères.
text
Données non Unicode de longueur variable ne pouvant pas dépasser 231 - 1
(2 147 483 647) caractères.
Chaînes de caractères Unicode
nchar
Données Unicode de longueur fixe ne pouvant pas dépasser 4 000 caractères.
nvarchar
Données Unicode de longueur variable ne pouvant pas dépasser 4 000 caractères.
sysname, synonyme de nvarchar(128), est un type de données défini
par l'utilisateur fourni par le système et utilisé pour faire référence aux objets
de base de données.
ntext
Données Unicode de longueur variable ne pouvant pas dépasser 230 - 1
(1 073 741 823) caractères.
Michel Tuffery (SQL7)
11
Les types de données
Chaînes binaires
binary
Données binaires de longueur fixe ne pouvant pas dépasser 8 000 octets.
varbinary
Données binaires de longueur variable ne pouvant pas dépasser 8 000 octets.
image
Données binaires de longueur variable ne pouvant pas dépasser
231 - 1 (2 147 483 647) octets.
Michel Tuffery (SQL7)
12
Création d ’une table
if exists (select table_name from information_schema.tables
where table_name='employe')
drop table employe
GO
if exists (select table_name from information_schema.tables
where table_name= ’service')
drop table service
GO
create table service
(nservice tinyint,
nom_service varchar(20),
constraint pk_service primary key(nservice)
)
GO
Michel Tuffery (SQL7)
13
Création d ’une table
create table employe
(nume int identity(1,1),
nome varchar(20),
date_emb datetime default getdate(),
salaire decimal(8,2),
commission as (salaire*10)/100,
nservice tinyint constraint nn_nser not null,
constraint ck_salaire check (salaire > 5000),
constraint fk_emp_ser foreign key(nservice)
references service(nservice)
)
GO
Michel Tuffery (SQL7)
14
Modification de la structure
d ’une table
alter table employe
add adresse varchar(50)
GO
Pas de modification
alter table employe
nocheck constraint fk_emp_ser
GO
attention
alter table employe
drop column adresse
GO
alter table employe
check constraint fk_emp_ser
GO
alter table employe
add constraint fk_emp_ser
foreign key(nservice)
references service(nservice)
GO
alter table employe
drop constraint fk_emp_ser
GO
Michel Tuffery (SQL7)
15
Types Utilisateurs
sp_addtype v50,'varchar(50)','NULL'
select * from systypes
create table …...
(…….
adresse v50,
………
)
sp_droptype v50
Michel Tuffery (SQL7)
16
Renseignements sur les Objets
sp_help nom_objet
Consultation du dictionnaire des données
et affichage des renseignements complets
Michel Tuffery (SQL7)
17
Langage de Manipulation des
Données
INSERT [INTO] {nom_table|nom_vue} [(liste cols)] VALUES
{liste_valeurs|SELECT expression}
DELETE [FROM] {nom_table|nom_vue} [WHERE clause]
UPDATE {nom_table|nom_vue} SET
col= {valeur|expression|SELECT expression|liste_cols
[FROM {nom_table|nom_vue} [WHERE expression]]
Michel Tuffery (SQL7)
18
Langage d ’Interrogation des
Données
Monotable
SELECT {liste_cols|*|expression}
FROM nom_table
[WHERE expression1]
[GROUP BY col1,…]
[HAVING expression2]
[ORDER BY col1 [ASC|DESC],…]
Opérateurs : NOT, BETWEEN, LIKE,+,…
Fonctions de groupage : AVG, COUNT, MAX, MIN, SUM
Michel Tuffery (SQL7)
19
Langage d ’Interrogation des
Données Multitable
Opérateur ensembliste : UNION
SELECT liste_cols FROM nom_table [WHERE expression]
UNION
SELECT liste-cols FROM nom_table [WHERE expression]
Opérateurs ensemblistes : MINUS et INTERSECT
N ’existent pas avec SQL7 : utiliser [NOT] EXISTS
Michel Tuffery (SQL7)
20
Langage d ’Interrogation des
Données Multitable
Jointure en Forme Procédurale Déconnectée
select nome,salaire from employe
where nservice in
(select nservice from service
where upper(nom_service) like upper('%info%'))
Opérateurs : in, not in, =, >, <, >=, <= , !=
Michel Tuffery (SQL7)
21
Langage d ’Interrogation des
Données Multitable
Jointure en Forme Procédurale Synchronisée
select nome,salaire from employe e
where exists
(select * from service s
where upper(nom_service) like upper('%info%')
and e.nservice=s.nservice)
Michel Tuffery (SQL7)
22
Langage d ’Interrogation des
Données Multitable
Jointure en Forme Procédurale Relationnelle
select e.nome,e.salaire from employe e, service s
where upper(nom_service) like upper('%info%')
and e.nservice=s.nservice
Michel Tuffery (SQL7)
23
Langage de Contrôle des
Données : les Vues
USE bdm
IF EXISTS (SELECT TABLE_NAME FROM
INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = 'emp_info')
DROP VIEW emp_info
GO
CREATE VIEW emp_info (ne,nom,sal,nser)
AS
SELECT nume, nome, salaire, nservice
FROM employe
WHERE nservice IN
(SELECT nservice FROM service WHERE nom_service LIKE '%info%')
AND salaire > 10000
WITH CHECK OPTION
GO
Michel Tuffery (SQL7)
24
Langage de Contrôle des
Données : les Triggers
SI Evènement
ALORS
Action
FIN SI
Update, Delete et Insert
Transact SQL
2 tables logiques ‘ inserted ’ et ‘ deleted ’ de même structure
que la table sur laquelle est posée le trigger permettent de
retrouver les valeurs
Michel Tuffery (SQL7)
25
Langage de Contrôle des
Données : les Triggers
IF EXISTS (SELECT name FROM sysobjects WHERE name='trigger33'
AND type='TR')
DROP TRIGGER trigger33
GO
CREATE TRIGGER trigger33
Trigger de
ON m.travailler
FOR INSERT
AS
DECLARE
@nb_jj int, @n_cher varchar (11)
BEGIN
SELECT @nb_jj = i.nb_jour_sem, @n_cher = i.n_chercheur FROM inserted
i,travailler t where i.n_chercheur=t.n_chercheur and i.n_projet=t.n_projet
UPDATE chercheur
SET nb_jours=nb_jours+ @nb_jj
,nb_projets=nb_projets+1
WHERE n_chercheur= @n_cher
END
GO
Michel Tuffery (SQL7)
MAJ
26
Langage de Contrôle des
Données : les Triggers
CREATE TRIGGER trigger22
ON m.travailler
FOR INSERT
Trigger de contrainte
AS
DECLARE
@nb_jj int,
@n_cher varchar (11),
@nb_tot int
BEGIN
SELECT @nb_jj = i.nb_jour_sem FROM inserted i,travailler t
where i.n_chercheur=t.n_chercheur
and i.n_projet=t.n_projet
IF @nb_jj > 3
BEGIN
RAISERROR ('Un chercheur ne peut travailler plus de 3 jours par semaine dans un
projet',16,1)
ROLLBACK TRANSACTION
END
Michel Tuffery (SQL7)
27
Langage de Contrôle des
Données : les Triggers
SELECT @n_cher = i.n_chercheur FROM inserted i,travailler t
where i.n_chercheur=t.n_chercheur
and i.n_projet=t.n_projet
SELECT @nb_tot = SUM(nb_jour_sem) FROM travailler
WHERE n_chercheur = @n_cher
IF (@nb_tot + @nb_jj)>5
BEGIN
RAISERROR ('Un chercheur ne peut travailler plus de 5
jours par semaine en tout',16,1)
ROLLBACK TRANSACTION
END
END
GO
Michel Tuffery (SQL7)
28
Les Procédures Stockées
Création de la Procédure
IF EXISTS (SELECT name FROM sysobjects WHERE name='p1' AND type ='P')
DROP PROCEDURE p1
GO
CREATE PROCEDURE p1
@typeobjet VARCHAR(10)
AS
SELECT name,type FROM sysobjects
WHERE type=@typeobjet
GO
Appel de la Procédure
p1 TR
Michel Tuffery (SQL7)
29
Les Procédures Stockées
IF EXISTS (SELECT name FROM sysobjects WHERE name='ajout_projet'
AND type ='P')
DROP PROCEDURE ajout_projet
GO
create proc ajout_projet
@n_projet_p varchar(8),
@nom_projet_p varchar(20),
@n_equipe_p varchar(8),
@n_cher_resp_p varchar(11),
@specialite_p varchar(10)
as
begin
declare @n_chercheur_l varchar(11)
declare @erreur int
declare c1 cursor for
select n_chercheur from chercheur where specialite=@specialite_p
and n_equipe=@n_equipe_p
BEGIN TRANSACTION
Michel Tuffery (SQL7)
30
Les Procédures Stockées
insert into projet values(@n_projet_p,@nom_projet_p,@n_equipe_p,@n_cher_resp_p)
set @erreur=@@error
if @erreur<>0
begin
/*print 'Erreur numéro : '+STR(@erreur)*/
raiserror('Erreur numéro : %d',16,1,@erreur)
deallocate c1
ROLLBACK TRANSACTION
return (@erreur)
end
open c1
fetch c1 into @n_chercheur_l
while @@fetch_status >= 0
begin
insert into travailler values(@n_projet_p,@n_chercheur_l,null)
fetch c1 into @n_chercheur_l
end
close c1
deallocate c1
COMMIT TRANSACTION
end
GO
Michel Tuffery (SQL7)
31
Procédures stockées intéressantes
•
•
•
•
•
•
•
•
•
•
•
•
sp_spaceused
sp_spaceused table
sp_lock
sp_statistics table
sp_tables
sp_tempdbspace
sp_columns table
sp_databases
sp_datatype_info
sp_enumdsn
sp_help_revdatabase
sp_help_revdatabase bd
taille occupée par la bd
taille occupée par la table
liste des verrous posés
informations physiques sur les index
tables accessibles par l ’utilisateur
taille réservée et occupée de tempdb
structure de la table
tailles des bd
tous les types disponibles
liste des Data Source Name ODBC
scripts de création des bases
script de création de la base bd
Michel Tuffery (SQL7)
32
Procédures stockées intéressantes
•
•
•
•
•
•
•
•
•
•
•
•
•
sp_helpcontraint table
sp_helpdb
sp_helpdevice
sp_helpdistribution
sp_helpextendedproc
sp_helpgroup
sp_helpindex table
sp_helpjoins t1,t2
sp_helplog
sp_helplogins
sp_helpremotelogin
sp_helpsql
sp_helpuser
contraintes de la table
informations sur les bases
informations et correspondances unités / fichiers
informations sur la distribution
correspondance procédure externe / dll
informations sur les groupes
informations sur les index de la table
colonnes de jointures entre t1 et t2
ou est le journal
informations sur les accès
informations sur les accès distants ( approuvée)
aides sur certaines rubriques
informations sur le user
Michel Tuffery (SQL7)
33
Administration
SQL Server
Fichiers, Unités et Bases de
données
Fichiers
Unités de bd
Bases
master
MASTER
master.dat (25Mo
)
(n° 0)
model
MSDBDATA
msdbdata.dat (2Mo
)
do
MSDBLOG
msdblog.dat (2Mo
)
tempdb
(n° 126
(n° 127)
nn
ée
s
jou
r na
l
pubs
msdb
Michel Tuffery (SQL7)
35
Contenu des bases systèmes
• Master
–
–
–
–
–
contrôle des bd utilisateurs
suivi : comptes util., serveurs distants, processus et variables d ’environnement
contrôle de l ’espace de stockage
contient les tables et procédures systèmes
à sauvegarder après toute modification système
• Model
–
–
–
fournit un modèle pour les nouvelles bases (copie et extension)
contient aussi des tables systèmes
possibilité de modifier ‘ model ’ de base : ajout de types, contraintes, règles et défauts
• Msdb
–
prend en charge SQL Exécutive
• Tempdb
–
–
tables temporaires
aucune permission
Michel Tuffery (SQL7)
36
Architecture de SQL-DMF
Distributed Management Framework
SQL Enterprise Manager
Automation SQL
Objets de gestion distribuée
Transact SQL
SQL-DMO
SQL Exécutive
Réplication
Moteur SQL Server
Gestion des taches
Gestion d ’événements
Gestion d ’avertissements
Michel Tuffery (SQL7)
37
Unités de Bases de données
• Création d ’une nouvelle unité
– espace de stockage (fichier)
– taille (>=1Mo)
• Suppression d ’une unité
– attention : tout est perdu
– supprimer physiquement le fichier
• Augmentation de l ’espace d ’une unité
• Edition d ’une unité
Michel Tuffery (SQL7)
38
Bases de données : contenu
•
•
•
•
•
•
•
Tables (structures physiques)
Vues
Index
Valeurs par défaut (types de données)
Règles de validation
Procédures stockées
Déclencheurs
Michel Tuffery (SQL7)
39
Bases de données
• Création
– nom de l ’unité de données et taille données
– nom de l ’unité journal et taille (25 % conseillé)
• Modification de la taille
– augmentation (<= unité) ou diminution
• Suppression
• Changement de nom
Michel Tuffery (SQL7)
40
Accès et utilisateurs
• 4 types d ’utilisateurs
–
–
–
–
système : sa
propriétaire d ’une base : dbo
propriétaire d ’objet : dboo
autres utilisateurs
• Noms d ’accès (SQL Server)
– nom pour accéder à SQL Server (avant d ’accéder à une base)
– mis en correspondance avec un nom d ’utilisateur (souvent le même)
– dans la table syslogins
• Noms d ’utilisateurs (Base particulière)
– pour se connecter à une base particulière
– dans la table sysusers
• Groupes d ’utilisateurs
– groupe Public par défaut
– regroupement d ’utilisateurs dans un groupe (sous public), 1 seul groupe
Michel Tuffery (SQL7)
41
Administrateur système (sa)
• Installation de SQL Server
– installation du serveur avec paramétrages
– installation des outils clients pour accéder
• Création d ’espaces de stockage
– création d ’unités
– création de bases de données (avec DBO)
• Accès utilisateur
• Taches journalières
– sauvegardes et restauration de bases et de journaux
– optimisation de SQL Server
– gestion des espaces, utilisateurs et objets
Michel Tuffery (SQL7)
42
Propriétaire de base (dbo)
•
•
•
•
•
Crée la base de données
Un seul dbo par base
Conception et mise en œuvre de la base
Création des objets données et programmes
importation et exportation
Michel Tuffery (SQL7)
43
Sécurité des connexions
• Sécurité standard
– accès classique en mode client-serveur
– le serveur NT ne fait aucun contrôle
– tout repose sur la sécurité SQL Server (connexion non approuvée)
• Sécurité intégrée
– accès en mode connecté (au serveur NT)
– SQL Server ne demande rien : il prend le nom d ’utilisateur donné à NT
(ops$ d ’Oracle)
– -tout repose sur la sécurité de NT
• Sécurité mixte
– l ’utilisateur a le choix (au moins un nom d ’utilisateur donné)
Michel Tuffery (SQL7)
44
Les Permissions par défaut
• Permissions du sa
– tous les droits (avec délégation)
– instructions réservées : DISK, KILL, RECONFIGURE, SHUTDOWN, Ajout et
suppression de proc. étendues
• Permissions des dbo
– tous les droits sur la base possédée (avec délégation)
– droits intransmissibles : CHECPOINT, DBCC, DROP DATABASE, Permissions
de GRANT et REVOKE, LOAD TRANSACTION et SETUSER
• Permissions des dboo
– tous les droits sur les objets crées
– instructions réservées : ALTER DROP et TRUNCATE TABLE, CREATE et
DROP INDEX, CREATE et DROP TRIGGER
Michel Tuffery (SQL7)
45
Permissions accordées aux autres
utilisateurs
• Permissions d ’instruction
–
–
–
–
–
création d ’une bd (create database)
création de règles et de valeurs par défaut pour une bd
création de tables et de vues pour pour une bd
création de procédures stockées
sauvegarde de la bd (dump database et transaction)
• Permissions d ’objet : droits sur des actions
Objets
table
vue
colonne
proc. stoc.
Actions
select
update
insert
delete
references
execute
Michel Tuffery (SQL7)
46
Exportation et importation de
données
• Transfert synchrone entre deux serveurs par
SQL Enterprise
• Transfert asynchrone entre deux serveurs
déconnectés par la commande BCP (Bulk
Copy Program)
• Importation de fichiers de données avec
BCP
Michel Tuffery (SQL7)
47
Création de scripts automatiques
• Possibilité de générer automatiquement des
scripts SQL
• Script de création d ’une table existante
avec les intégrités référentielles
• Script de création d ’index
• Permet de refaire l ’ensemble des scripts
d ’une base ancienne
Michel Tuffery (SQL7)
48
Sauvegarde et Restauration
• Sauvegarde obligatoire en production
• Sauvegarde : base, journal des transaction ou une
table seule
• Conseil : sauvegarde des bases toutes les semaines
y compris Master, MSDB et Distribution si
réplication
• Exemple :
– sauvegarde base complète le Lundi
– sauvegarde des transactions chaque jour
• Création obligatoire d ’une unité de sauvegarde
Michel Tuffery (SQL7)
49
Sauvegarde et Restauration
• Contrôle logique et physique de la base
avant sauvegarde
– DBCC CHECKDB
– DBCC CHECKALLOC
– DBCC CHECKCATALOG
• Planification possible des taches de
sauvegarde : calendrier
Michel Tuffery (SQL7)
50
Sauvegarde et Restauration
• Unités de sauvegarde :
– disque ou bande
– si sur disque : autre unité ou autre serveur
• Restauration : si l ’unité de données est
endommagée SQL Server déclare la base
‘ suspecte ’ --> il faut détruire la base et la
recréer (mêmes paramètres) avant de
restaurer
Michel Tuffery (SQL7)
51
Procédures stockées intéressantes
•
•
•
•
•
•
•
•
•
•
•
•
sp_spaceused
sp_spaceused table
sp_lock
sp_statistics table
sp_tables
sp_tempdbspace
sp_columns table
sp_databases
sp_datatype_info
sp_enumdsn
sp_help_revdatabase
sp_help_revdatabase bd
taille occupée par la bd
taille occupée par la table
liste des verrous posés
informations physiques sur les index
tables accessibles par l ’utilisateur
taille réservée et occupée de tempdb
structure de la table
tailles des bd
tous les types disponibles
liste des Data Source Name ODBC
scripts de création des bases
script de création de la base bd
Michel Tuffery (SQL7)
52
Procédures stockées intéressantes
•
•
•
•
•
•
•
•
•
•
•
•
•
sp_helpcontraint table
sp_helpdb
sp_helpdevice
sp_helpdistribution
sp_helpextendedproc
sp_helpgroup
sp_helpindex table
sp_helpjoins t1,t2
sp_helplog
sp_helplogins
sp_helpremotelogin
sp_helpsql
sp_helpuser
contraintes de la table
informations sur les bases
informations et correspondances unités / fichiers
informations sur la distribution
correspondance procédure externe / dll
informations sur les groupes
informations sur les index de la table
colonnes de jointures entre t1 et t2
ou est le journal
informations sur les accès
informations sur les accès distants ( approuvée)
aides sur certaines rubriques
informations sur le user
Michel Tuffery (SQL7)
53

Documents pareils

SQL - Server 7.0

SQL - Server 7.0 Les Procédures Stockées IF EXISTS (SELECT name FROM sysobjects WHERE name='ajout_projet' AND type ='P') DROP PROCEDURE ajout_projet GO create proc ajout_projet @n_projet_p varchar(8), @nom_projet_...

Plus en détail

Le Langage SQL Introduction

Le Langage SQL Introduction Les ordres SQL de manipulation

Plus en détail