Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server
MS SQL-Server Forum Microsoft SQL-Server. Avant de poster -> FAQ SQL-Server, Tutoriels SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/10/2011, 13h11   #1
Membre habitué
 
Avatar de sihammaster
 
Webmaster
Inscription : mai 2009
Messages : 238
Détails du profil
Informations professionnelles :
Activité : Webmaster
Secteur : Finance

Informations forums :
Inscription : mai 2009
Messages : 238
Points : 148
Points : 148
Envoyer un message via MSN à sihammaster
Par défaut les Procédures Stockées

Bonjour,
J'ai un probleme au niveau de manipulation d'une procédure stockée sous SQLServer, je voudrais votre avis si la procédure est correcte ou non, Merci
NB: la procédure serte à ajouter les données a la BDD, elle a comme parametre des données varchar qu'elle devrai par la suite les convetir selon le type cible des champs de la table.
voila le code:
Code :
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
CREATE procedure Convertir
(
@refasset int,@dividendyield varchar(max), @dividendyield5 varchar(max),
@dividendRate varchar(max), @dividendPayoutRatio varchar(max), @dividendPayoutRatio5 varchar(max),
@dividendGrowthRate3 varchar(max), @dividendGrowthRate5 varchar(max), @Consecutive varchar(max),
@DividendPayType varchar(max),@dividendDeclaration varchar(max), @dividendExDate varchar(max),
@DividenRecord varchar(max),@dividendPayDate varchar(max), @dividendAmountCurrent varchar(max),
@DividenAmountPrevious varchar(max), @dividendPayments varchar(max), @DatePrise date
)
AS
begin 
IF ((@dividendyield IS NULL OR @dividendyield = 'None'))
SET @dividendyield=NULL
else
SET @dividendyield=cast(@dividendyield AS decimal (18,2))
 
 
IF ((@dividendyield5 IS NULL OR @dividendyield5 = 'None'))
SET @dividendyield5=NULL
else
SET @dividendyield5=cast(@dividendyield5 AS decimal (18,2))
 
 
IF ((@dividendRate IS NULL OR @dividendRate = 'None'))
SET @dividendRate=NULL
else
SET @dividendRate=cast(REPLACE(@dividendRate,'$','') AS decimal (18,2))
 
 
IF ((@dividendPayoutRatio IS NULL OR @dividendPayoutRatio = 'None'))
SET @dividendPayoutRatio=NULL
else
SET @dividendPayoutRatio=cast(@dividendPayoutRatio AS decimal (18,2))
 
IF ((@dividendPayoutRatio5 IS NULL OR @dividendPayoutRatio5 = 'None'))
SET @dividendPayoutRatio5=NULL
else
SET @dividendPayoutRatio5=cast(@dividendPayoutRatio5 AS decimal (18,2))
 
IF ((@dividendGrowthRate3 IS NULL OR @dividendGrowthRate3 = 'None'))
SET @dividendGrowthRate3=NULL
else
SET @dividendGrowthRate3=cast(@dividendGrowthRate3 AS decimal (18,2))
 
IF ((@dividendGrowthRate5 IS NULL OR @dividendGrowthRate5 = 'None'))
SET @dividendGrowthRate5=NULL
else
SET @dividendGrowthRate5=cast(@dividendGrowthRate5 AS decimal (18,2))
 
IF ((@Consecutive IS NULL OR @Consecutive = 'None'))
SET @Consecutive=NULL
else
SET @Consecutive=@Consecutive
 
IF ((@DividendPayType IS NULL OR @DividendPayType = 'None'))
SET @DividendPayType=NULL
else
SET @DividendPayType=@DividendPayType
 
IF ((@dividendDeclaration IS NULL OR @dividendDeclaration = 'None'))
SET @dividendDeclaration=NULL
else
SET @dividendDeclaration=cast(@dividendDeclaration AS date)
 
IF ((@dividendExDate IS NULL OR @dividendExDate = 'None'))
SET @dividendExDate=NULL
else
SET @dividendExDate=cast(@dividendExDate AS date)
 
IF ((@DividenRecord IS NULL OR @DividenRecord = 'None'))
SET @DividenRecord=NULL
else
SET @DividenRecord=cast(@DividenRecord AS date)
 
IF ((@dividendPayDate IS NULL OR @dividendPayDate = 'None'))
SET @dividendPayDate=NULL
else
SET @dividendPayDate=cast(@dividendPayDate AS date) ---
 
IF (@dividendAmountCurrent IS NULL OR @dividendAmountCurrent = 'None')
SET @dividendAmountCurrent=NULL
else
SET @dividendAmountCurrent=cast(REPLACE(@dividendAmountCurrent,'$','') AS decimal(18,2))
 
IF ((@DividenAmountPrevious IS NULL OR @DividenAmountPrevious = 'None'))
SET @DividenAmountPrevious=NULL
else
SET @DividenAmountPrevious=cast(REPLACE(@DividenAmountPrevious,'$','') AS decimal(18,2))
 
IF (@dividendPayments IS NULL OR @dividendPayments = 'None')
SET @dividendPayments=NULL
else
SET @dividendPayments=@dividendPayments
 
INSERT INTO dbo.DividendInformation_Dividendinvestor VALUES (@refasset,@dividendyield,@dividendyield5,@dividendRate,@dividendPayoutRatio,
@dividendPayoutRatio5,@dividendGrowthRate3,@dividendGrowthRate5,@Consecutive,@DividendPayType,@dividendDeclaration,@dividendExDate,
@DividenRecord,@dividendPayDate,@dividendAmountCurrent,@DividenAmountPrevious,@dividendPayments,@dateprise
)
end
Merci d'avance.
sihammaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h06.


 
 
 
 
Partenaires

Hébergement Web