Salut a tous et merci pour lire ma question!
Je veux faire un exemple complet (creation base de donnee, avec une table) un exemple qui utilise CREATE DEFAULT et CREATE RULE en sql server.
Donc le but c'est comment creer ("default et rule") et aussi "binding a rule" and "binding a default" a l'aide des 2 procedures stoques :
sp_bindefault et sp_bindrule
L'exemple que je desire faire c'est pour entendre mieux le fonctionnement de ces 2 clauses.
Si vous pouvez corriger l'exemple fourni ou donner un autre exemple plus facile a comprendre qui utilise CREATE RULE et CREATE DEFAULT je serais tres content.
Voila mon example (en esperant qu'il est bon pour utiliser ce que je veux apprendre CREATE RULE et CREATE DEFAULT):
Ce que j'ai compris sur default:
- sont definis une seul fois
- on peut faire un bind default sur des colonnes multiples (la notiong de bind en anglais binding a rule et binding a default n'est pas claire pour moi)
Ce que j'ai compris sur les regles:
Extrait en anglais:
"Rules specify the acceptable values that you can insert into a column.They ensure that data falls within a specified range of values!!! ,matches a particular pattern, or matches entries in a specified list. Consider those facts about rules:
- A rule definition can contain any expression that is valid in a WHERE clause
- A column or user-defined data type can have only one rule that is bound to it
"
Voila le contenu complet de l'application ListeClients.sql:
Je veux comprendre le fonctionnement du CREATE DEFAULT et CREATE RULE dans un exemple concret.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 CREATE DATABASE ListeDesClients CREATE TABLE Clients (NomClient varchar(200), PrenomClient varchar(200), AgeClient int, SexeClient varchar(2), LocaliteClient varchar(200), Telephone int ) --convertir la variable int dans un varchar qui contient le prefixe suivi par le ---numero de telephone INSERT INTO Clients VALUES ('Fontaine','Bernard',22,'H','PH',CAST(Telephone AS varchar(200)) ,'000-0244-192332'); INSERT INTO CLIENTS VALUES ('Fontaine','Pierre',22,'H','PH',CAST(Telephone AS varchar(200)) ,'000-0244-192322'); INSERT INTO CLIENTS VALUES ('Fontaine','Jeremy',22,'H','PH',CAST(Telephone AS varchar(200)) ,'000-0244-182352'); -- creation d'un prefixe default pour la localite PH on a 000-0244 -- pour la localite B on a le prefixe 000-0312 suivi par le numero de telephone -- PH et B sont 2 noms de localites CREATE DEFAULT phone_no_default AS '000-0244-0000' GO --binding a default EXEC sp_bindefault phone_no_default, 'Clients.Telephone' CREATE RULE regioncode_rule AS @regioncode IN(‘IA’,’IL’,’KS’,’MO’) GO EXEC sp_bindrule regioncode_rule, 'Clients.Telephone'
En esperant que l'exemple c'est bon j'attends vos reponses!
Amicalment,
Michel
Partager