Sie sind auf Seite 1von 2

\\Elrond\Documents\simon\My Documents\SQL...uspRetailerIncoming_UpdateForCleaning.

sql 1
1 USE OE
2 GO
3
4 /*
5 This stored procedure cleans rows in the RetailerIncoming table
6 */
7
8 /*
9 Drop the object if it already exists
10 */
11 IF OBJECT_ID(N'dbo.uspRetailerIncoming_UpdateForCleaning') IS NOT NULL
12 DROP PROCEDURE dbo.uspRetailerIncoming_UpdateForCleaning
13 GO
14
15 CREATE PROCEDURE dbo.uspRetailerIncoming_UpdateForCleaning
16
17 AS
18
19 -- Trim RetailerIDTheirs, SalesRepIDTheirs
20 UPDATE RetailerIncoming
21 SET
22 RetailerIDTheirs = RTRIM(LTRIM(RetailerIDTheirs)),
23 SalesRepIDTheirs = RTRIM(LTRIM(SalesRepIDTheirs))
24
25 -- Replace empty strings with NULLs in RetailerIDTheirs and SalesRepIDTheirs
26 UPDATE RetailerIncoming
27 SET RetailerIDTheirs = NULL
28 WHERE RetailerIDTheirs = ''
29
30 UPDATE RetailerIncoming
31 SET SalesRepIDTheirs = NULL
32 WHERE SalesRepIDTheirs = ''
33
34 -- Reformat Casing in all rows
35 UPDATE RetailerIncoming
36 SET
37 RetailerCompanyName = dbo.ufnProperCaseString(RetailerCompanyName),
38 RetailerAddress1 = dbo.ufnProperCaseString(RetailerAddress1),
39 RetailerAddress2 = dbo.ufnProperCaseString(RetailerAddress2),
40 RetailerCity = dbo.ufnProperCaseString(RetailerCity),
41 RetailerStateProvAbr = UPPER(RetailerStateProvAbr),
42 RetailerCountryAbr = UPPER(RetailerCountryAbr),
43 RetailerPZCode = UPPER(RetailerPZCode),
44 RetailerFName = dbo.ufnProperCaseString(RetailerFName),
45 RetailerLName = dbo.ufnProperCaseString(RetailerLName),
46 RetailerEmail = LOWER(RetailerEmail)
47
48 -- Reformat RetailerPZCode
49 /* Delete any blank spaces from RetailerPZCode */
50 UPDATE RetailerIncoming
51 SET RetailerPZCode = REPLACE(RetailerPZCode,' ','')
52 WHERE RetailerPZCode LIKE '%[ ]%'
53
54 /* Delete any non-breaking spaces from RetailerPZCode */
55 UPDATE RetailerIncoming
56 SET RetailerPZCode = REPLACE(RetailerPZCode,CHAR(160),'')
57 WHERE RetailerPZCode != ''
58
59 /* Replace any dashes in the RetailerPZCode field with a blank space */
60 UPDATE RetailerIncoming
61 SET RetailerPZCode = REPLACE (RetailerPZCode,'-',' ')
62 WHERE RetailerPZCode LIKE '%[-]%'
63
64 /* Add a blank space between the 3rd and 4th characters in the RetailerPZCode
field, if there isn't one. */
65 UPDATE RetailerIncoming
66 SET RetailerPZCode = STUFF(RetailerPZCode,4,0,' ')
\\Elrond\Documents\simon\My Documents\SQL...uspRetailerIncoming_UpdateForCleaning.sql 2
67 WHERE LEN(RetailerPZCode) = 6
68
69 -- Reformat RetailerStateProvAbr
70 /* Delete any spaces from RetailerStateProvAbr */
71 UPDATE RetailerIncoming
72 SET RetailerStateProvAbr = RTRIM(LTRIM(RetailerStateProvAbr))
73 WHERE RetailerStateProvAbr LIKE '%[ ]%'
74
75 /* Update all typo RetailerStateProvAbr names to short-format (2 characters) */
76 UPDATE RetailerIncoming
77 SET RetailerStateProvAbr = SPTM.StateProvAbr
78 FROM RetailerIncoming AS RI
79 INNER JOIN tblStateProvTypoMismatch AS SPTM
80 ON RI.RetailerStateProvAbr = SPTM.StateProvTypo
81
82 /* Update all long-format RetailerStateProvAbr names to short-format (2
characters) */
83 UPDATE RetailerIncoming
84 SET RetailerStateProvAbr = SPM.StateProvAbr
85 FROM RetailerIncoming AS RI
86 INNER JOIN tblStateProvMaster AS SPM
87 ON RI.RetailerStateProvAbr = SPM.StateProvName
88
89 -- Reformat RetailerCountryAbr
90 /* Delete any spaces from RetailerCountryAbr */
91 UPDATE RetailerIncoming
92 SET RetailerCountryAbr = RTRIM(LTRIM(RetailerCountryAbr))
93 WHERE RetailerCountryAbr LIKE '%[ ]%'
94
95 /* Update all typo RetailerCountryAbr names to short-format (3 characters) */
96 UPDATE RetailerIncoming
97 SET RetailerCountryAbr = CTM.CountryAbr
98 FROM RetailerIncoming AS RI
99 INNER JOIN tblCountryTypoMismatch AS CTM
100 ON RI.RetailerCountryAbr = CTM.CountryTypo
101
102 /* Update all long-format RetailerCountryAbr names to short-format (3 characters)
*/
103 UPDATE RetailerIncoming
104 SET RetailerCountryAbr = CM.CountryAbr
105 FROM RetailerIncoming AS RI
106 INNER JOIN tblCountryMaster AS CM
107 ON RI.RetailerCountryAbr = CM.CountryName
108
109 /* Update all empty value RetailerCountryAbr rows based on RetailerStateProvAbr */
110 UPDATE RetailerIncoming
111 SET RetailerCountryAbr = SPM.CountryAbr
112 FROM RetailerIncoming AS RI
113 INNER JOIN tblStateProvMaster AS SPM
114 ON RI.RetailerStateProvAbr = SPM.StateProvAbr
115 WHERE
116 RI.RetailerCountryAbr IS NULL
117 OR
118 RI.RetailerCountryAbr = ''

Das könnte Ihnen auch gefallen