Vraag : Pas recente mods op extra SP (volg op vraag) toe

Kunnen zelfde mods aan dit SP eveneens: worden toegevoegd
" codeBody "
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:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
USE [EnergySuiteDB]
GA
/****** Heb bezwaar:  StoredProcedure [dbo]. [GetCostPerPeriod_Virtual] de Datum van het Manuscript: het 21:53 van 07/31/2010: 41 ******/
VASTGESTELDE ANSI_NULLS 
GA
PLAATS QUOTED_IDENTIFIER
GA
VERANDER PROCEDURE [dbo]. [GetCostPerPeriod_Virtual] @sDate DATETIME, @Meter varchar (1000), varchar drijft @calc (1000), varchar @operator (1000), @GasRate int., @pf vlotter, varchar @util (50), @reportselectionklusje (1), @CO2 vlotter, @Carbon

ZOALS
BEGIN

--Een machtsfactor van 0 zal uitzondering werpen, zodat moet dit worden behandeld
als isnull (@pf, 0) =0 vastgesteld @pf = 1

-- verklaar en opstelling sommige die variabelen op inkomende parameters worden gebaseerd

VERKLAAR @PREVVAL NUMERIEK (12, 4)
verklaar @grate varchar (12) --numeriek (12.4)
verklaar @edate datetime
verklaar @intervals int.

verklaar @str_sdate varchar (20)
verklaar @str_edate varchar (20)

plaats @sdate = bekeerling (klusje (8), @sdate, 112)   -- zorg ervoor de tijd bij „begin“ van periode is
Als @reportselection = „M“ @sdate = DATEADD plaatste (maand, DATEDIFF (maand, 0, @sdate), 0)
Als @reportselection = „Y“ @sdate = datename (jaar, @sdate) + „0101“ plaatste

de reeks @edate = zet (om klusje (8), @sdate, 112) + „23:59: 59.997“
Als @reportselection = „W“ @edate = zet (om klusje (8) plaatste, @sdate+6,112) + „23:59: 59.997“
Als @reportselection = „M“ @edate = DATEADD plaatste (maand, DATEDIFF (maand, -1, @sdate), 0) - 0.00000005
Als @reportselection = „Y“ @edate = datename (jaar, @sdate) + „1231 23:59 plaatste: 59.997“

reeks @str_sdate = varchar bekeerling (, @sdate - 1.120)
reeks @str_edate = varchar bekeerling (, @edate, 120)

vastgestelde @intervals = dag (dateadd (maand, datediff (maand, - 1, @sdate), 0) - 1) 
Als @reportselection = „D“ @intervals = @intervals * 96 plaatste  -- 96 kwart uren in een dag.
Als @reportselection = „Y“ @intervals = 1 plaatste

als isnull (@gasrate, 0) = 1
   reeks @grate = „11.0786“ -- 1.02264 * 39/3.6
anders
   reeks @grate = „1.0“

-- cre�ër nu ons de gegevensuittreksel van het temperaturenrapport van hoofdgeschiedenislijst

ALS OBJECT_ID („tempdb. #ReportData“, „U“) IS GEEN ONGELDIGE #ReportData VAN DE LIJST VAN DE DALING  -- niet zou moeten worden vereist
 
CRE�ëR #ReportData VAN DE LIJST
(
    De identiteits primaire sleutel van identiteitskaart int.,
    TLInstance int.,
    TimeStamp DATETIME,
    Honderdste int.,      
    NUMERIEKE gegevens (12, 4),
    NUMERIEKE DataChange (12, 4),
    Datetime van DateStamp
)

-- bevolk onze rapportgegevens

TUSSENVOEGSEL IN #ReportData (Timestamp, tlinstance, Honderdste, Gegevens, Datestamp)
exec ('UITGEZOCHTE Timestamp, tlinstance, Honderdste, zet (echt, Gegevens) * „+@grate+“, geval wanneer ''' +@reportselection+ ''' = '' Y '' dan omzet (klusje (6), timestamp, 112) om + zet '' 01 anders '' (klusje (8), timestamp, 112) eind om
VAN HistorianDB.dbo.TLData 
WAAR TLInstance binnen („+@Meter+“)
EN timestamp tussen ''' +@str_sdate+ ''' en ''' +@str_edate+ '''
EN Type=0 
EN isnumeric (gegevens) =1
ORDE DOOR tlinstance, timestamp, recordnumber')        

-- doe de update onze gegevens het verschil tussen meterlezingen en kosten berekenen

WERK #reportdata bij
PLAATS DataChange = #reportdata. Gegevens - isnull (prev.data, #reportdata. Gegeven)
VAN #ReportData 
linker buiten sluit zich aan bij #reportdata prev op #reportdata.tlinstance = prev.tlinstance en #reportdata.id - 1 = prev.id 
waar #reportdata.timestamp tussen @sdate en @edate

-- controleer nu negatieve aantallenrechten om het terugstellen (of het knoeien) te meten

WERK #reportdata VASTGESTELDE DataChange = bij 0 WAAR DataChange < 0


-- nu hebben wij datachange wij @operations en @calc kunnen nu overwegen
als object_id („tempdb. #tmp_meter“, „U“) is geen ongeldige #tmp_meter van de dalingslijst
als object_id („tempdb. #tmp_operator“, „U“) is geen ongeldige #tmp_operator van de dalingslijst
als object_id („tempdb. #tmp_calc“, „U“) is geen ongeldige dalingslijst #tmp_calc

selecteer identiteit (int., 1.1) als identiteitskaart, die (@meter, aantal, charindex („,“ substring, @meter+', ', aantal) - aantal) als meter
in #tmp_meter
van (selecteer @meter als meters) m
het kruis sluit zich aan (uitgezocht aantal van hoofd. .spt_values waar type = „p“) bij n
waar het substring („, „+@meter, aantal, 1) =“,“
en aantal <= len (@meter)

selecteer identiteit (int., 1.1) als identiteitskaart, die (@operator, aantal, charindex („,“ substring, @operator+', ', aantal) - aantal) als exploitant
in #tmp_operator
van (uitgezochte @operator als exploitanten) m
het kruis sluit zich aan (uitgezocht aantal van hoofd. .spt_values waar type = „p“) bij n
waar het substring („, „+@operator, aantal, 1) =“,“
en aantal <= len (@operator)

selecteer identiteit (int., 1.1) als identiteitskaart, die (@calc, aantal, charindex („,“ substring, @calc+', ', aantal) - aantal) als calc
in #tmp_calc
van (uitgezochte @calc als calcs) m
het kruis sluit zich aan (uitgezocht aantal van hoofd. .spt_values waar type = „p“) bij n
waar het substring („, „+@calc, aantal, 1) =“,“
en aantal <= len (@calc)

verklaar @parse varchar (4000)
selecteer @parse = isnull (@parse+' „,“ „) + exploitant +“ (geval wanneer ''' +operator+ ''' binnen ('' * '', ''/'') en isnull ([„+ meter +“], 0) = 0 toen anders 1 isnull ([„+ meter +“], 0) end + „*“ + calc + „)“
van #tmp_meter m
binnen sluit me aan #tmp_calc bij c op m.id = c.id
binnen sluit me aan bij #tmp_operator o op m.id = o.id

verklaar @columns varchar (2000)
selecteer @columns = isnull (@columns+', „, '') +“ [„+ meter +“] '
van #tmp_meter m
binnen sluit me aan #tmp_calc bij c op m.id = c.id
binnen sluit me aan bij #tmp_operator o op m.id = o.id
groep door meter

als object_id („tempdb. #tmp_reportdata“, „U“) is geen ongeldige #tmp_reportdata van de dalingslijst
cre�ër lijst#tmp_reportdata (timestamp datetime, datestamp datetime, datachange decimaal (12.4))

neem #tmp_reportdata op
exec („uitgezochte timestamp, datestamp zet om (decimaal (12.4), 0 ' +@parse+“) als datachange van
(uitgezochte timestamp, datestamp, tlinstance zet om (decimaal (12.4), datachange) als datachange van #reportdata) src
SPIL
(som (datachange) voor tlinstance binnen („+@columns+“)) pvt')

-- nu kunnen wij het rapport in werking stellen

; Met Periodes zoals
(
   Selecteer geval wanneer @reportselection = het anders geval van „D“ toen dateadd (minuut, aantal * 15, @sdate) wanneer @reportselection = „Y“ dateadd (maand, aantal, @sdate) dateadd (dag, aantal, @sdate) dan anders eind als PSDate beëindigt 
   , geval wanneer @reportselection = „D“ toen dateadd (minuut, aantal * 15 + 15, @sdate) - 0.00000005 anders geval wanneer @reportselection = „Y“ toen DATEADD (maand, DATEDIFF (maand, -1, dateadd (maand, aantal, @sdate)), 0) - anders 0.00000005 zetten (om klusje (8), @sdate+number, 112) + „23:59: 59.997“ eindeind zoals PEDate 
   , geval toen @reportselection = „D“ toen (datename (dw, @sdate), 03) + ' „+ bekeerling wegging (klusje (8), @sdate, 03) +right (bekeerling (klusje (19), dateadd (minuut, aantal * 15, @sdate), 100),) anders geval 8 toen @reportselection = „Y“ toen wegging (datename (maand, dateadd (maand, aantal, @sdate)), gingen 3) +“ „+ datename (jaar, @sdate) anders weg (datename (dw, dateadd (dag, aantal, @sdate)), 3) +“ 'het eind + van het bekeerlings (klusje (8), dateadd (dag, aantal, @sdate), 03) eind als PSName 
   , geval wanneer @reportselection = anders geval toen 1.0/96.0 van „D“ wanneer @reportselection in („M“, „W“) anders dag toen 1.0 (dateadd (maand, number+datediff (maand, -1, @sdate), 0) - 1) eindeind als dayparts
   van hoofd. .spt_values n met (nolock) 
   waar type = „p“
   en geval wanneer @reportselection = het anders geval van „D“ toen dateadd (minuut, aantal * 15, @sdate) wanneer @reportselection = „Y“ dateadd (maand, aantal, @sdate) dateadd (dag, aantal, @sdate) dan anders eind < @edate beëindigt
)
SELECTEER 
    PSname als Datum,
    SOM (isnull (r1.datachange, 0)) ALS day_data,
    SOM (isnull (r1.datachange, 0) *@CO2) ALS CO2_data,
    SOM (isnull (r1.datachange, 0) *@Carbon) ALS Carbon_data,
    SOM (isnull (r1.datachange, 0) *chargerate) ALS DataCost,
    SOM (isnull (r1.datachange, 0) *levy) als TotalLevy,
    maximum (geval wanneer r1.datestamp ongeldig toen anders caprate eind 0) is/@intervals als TotalCap,                           
    maximum (geval wanneer r1.datestamp ongeldig toen anders chargecap eind 0) is als ChargeCap,
    maximum (geval wanneer r1.datestamp ongeldig toen eind 0 anders dayparts * StandingDayCharge) is als StandingDayCharge,
    maximum (geval wanneer r1.datestamp ongeldig toen eind 0 anders dayparts * StandingDayCharge is) 
    + SOM (isnull (r1.datachange, 0) * (chargerate + heffing)) 
    + maximum (geval wanneer r1.datestamp ongeldig toen anders caprate eind 0) is/@intervals als TotalCost,
    isnull (((geval wanneer @reportselection = de SOM van „D“ toen (isnull (r1.datachange, 0)) anders (uitgezochte hoogste 1 datachange van #tmp_reportdata r2 waar r2.datestamp = orde r1.datestamp door r2.datachange desc) eind) *4)/@pf, 0) als MaxkVA,
    isnull (((geval wanneer @reportselection = de SOM van „D“ toen (isnull (r1.datachange, 0)) anders (uitgezochte hoogste 1 datachange van #tmp_reportdata r2 waar r2.datestamp = orde r1.datestamp door r2.datachange desc) eind) *4), 0) als MaxkW,
    (uitgezochte hoogste 1 timestamp van #tmp_reportdata r2 waar r2.datestamp = orde r1.datestamp door r2.datachange desc, r2.timestamp desc) als MaxDataChangeTimeStamp
 
VAN Periodes
LINKER BUITEN SLUIT zich aan bij #tmp_ReportData r1 op r1.timestamp tussen psdate en pedate
het kruis past dbo.udf_getrates_3 (r1.Timestamp, @util) toe    
GROEP DOOR PSname, r1.datestamp, PSdate
ORDE DOOR PSdate
EIND

Antwoord : Pas recente mods op extra SP (volg op vraag) toe

Goed is Malwarebyte zeer goede software en de meesten van ons op deskundige uitwisseling adviseren het hier aan de mensen die kwesties met betrekking tot het virus, worm of malware meldt.

Zo denk ik u goed om bent te gaan en kon eenvoudig doen wat malwarebytes u vroeg om te doen. Verwijderen.

Sudeep
Andere oplossingen  
 
programming4us programming4us