Hälsningar
I har en skötsel för lagrat tillvägagångssätt för T-SQL på ms, SQL- somserveren 2005.
That är mitt existerande och funktionsdugliga lagrade tillvägagångssätt, jag måste att fördjupa med ett annat särdrag: class= " lineNumbers " >1 för > | :
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
class= " prettyprint " för id= " codeSnippet831118 " för > FÖRÄNDRAR TILLVÄGAGÅNGSSÄTTET [dbo]. [Get_OUAufsatz]
mer uniqueidentifier @InternalOUID
, @asOfDate som datetime = ogiltigt
SOM
BÖRJA
UPPSÄTTNING NOCOUNT PÅ;
OM @asOfDate är ogiltig
FASTSTÄLLD @asOfDate = getdate ()
VÄLJ [AufsatzId]
, [H_ValidSince]
, [H_ValidUntil]
, [H_UID]
, [InternalOUId]
, [Test1]
, [Test2]
FRÅN [dbo]. [OUAufsatz]
VAR
[InternalOUId] = @InternalOUID
OCH @asOfDate BETWEEN [dboen]. [OUAufsatz]. [H_ValidSince]
OCH [dbo]. [OUAufsatz]. [H_ValidUntil]
<-/pre>
The för > ovanför SP går en lista av OUAufsatz tillbaka, anmärker/ror som tillfredsställer var clause. That är en lätt query…
Now jag måste att fördjupa queryen. Kodifiera är efter en kodifierasnippet som fungerar fint för honom, men jag måste att integrera dess funktionsduglighet in i det ovannämnda lagertillvägagångssättet Get_OUAufsatzwerte: class= " lineNumbers " >1 för > | för
:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
class= " prettyprint " för id= " codeSnippet831119 " för > INRE SAMMANFOGAR (
VALD räkning (*) SOM [räkningen], Assessment.AufsatzId
FRÅN bedömning
INRE SAMMANFOGA OUAufsatz
PÅ Assessment.AufsatzId = OUAufsatz.AufsatzId
OCH OUAufsatz.H_ValidUntil = ”3000-01-01”,
VAR Assessment.H_ValidUntil = ”3000-01-01”,
GRUPP VID Assessment.AufsatzId
) SOM KARTLÄGGER
PÅ KARTLÄGGA. [AufsatzId] = [OUAufsatz]. [AufsatzId]
<-/pre>
What är den H_ValidSince och H_ValidUntil alls? förklarings=>
We historize varje ändring i databasen som hjälpmedlet, om några sätter in i e.g. OUAufsatzen bordlägger ändras ett mellanlägg/en uppdatering skrivar utförs, som kontrollerar, om en Aufsatz dataset/ror med bestämda H_ValidSince, och bestämda H_ValidUntil värderar är redan existerande. Om ja H_ValidSincen sätter in får datetime.nowen värderar, och H_ValidUntilen sätter in får värdera ”3000-01-01” som hjälpmedlet, som dataseten/ror, är strömmen/faktiskt ror. Om ingen någon annat stoppar göras… dess rättvist en historizemetod att spåra allt hehe.
And, om du ser nu ovanför kodifierasnippeten, och jämför mig dig ser att jag filtrerar till strömmen/den faktiska bedömningen och OUAufsatz.
Now som jag behöver den min sammanslutningen kodifierar snippeten med det ovannämnda lagertillvägagångssättet med stoppar något liknande som
PSEUDO kodifierar: för
class= " lineNumbers " >1 för > | VÄLJER [AufsatzId]
, [H_ValidSince]
, [H_ValidUntil]
, [H_UID]
, [InternalOUId]
, [Test1]
, [Test2]
, gå tillbaka [b] [räkningen] om 0 falska annat true därefter som [IsInUse] [/b]
FRÅN [dbo]. [OUAufsatz]
VAR
[InternalOUId] = @InternalOUID
OCH @asOfDate BETWEEN [dboen]. [OUAufsatz]. [H_ValidSince]
OCH [dbo]. [OUAufsatz]. [H_ValidUntil]
<-/pre>
and som kodifierasnippetmusten kombinerade med den existerande SPen-code.
My, tillverkar här mig förväntar i i tabellform bildar är denna (synliga kolonner i användaren har kontakt):
Test1…: … Test2…: … IsInUse (boolen sätter in akacheckboxen),
The förhållande är att 1 OUAufsatz kan ha förmiddagen för många bedömningar som men I-intresseras endast i bedömningen som är current-/VALIDhjälpmedel H_ValidUntil = ”3000-01-01”. hjälp för
Any uppskattas:),
If du behöver mer något att säga för info precis, I-försök att hjälpa så mycket, som jag kan!
" klar "
|