Fråga : I en SQL-server det lagrade tillvägagångssättet, hur jag förklarar en markör using var satsen passerade in som en parameter?

Using den uttryckliga SQL-serveren 2005, jag skulle något liknande för att skapa ett lagrat tillvägagångssätt som skapar en markör som baseras på ett VALT meddelande, som använder VAR satsen som in passeras till SPEN, som en SP för parameter.
The därefter skulle, UPPDATERAR vidare befaller using det nöjt av cursor.
I har föregående varit kompetent att göra separat uppgifter, ie
1) har en SP att utföra ett SQL-meddelande using a passera-i VAR FASTSTÄLLD @strSQLCommand för clause
= ”BORTTAGNINGS FRÅN TBL_TempBarcodeData, VAR” +

and
2 för @paramWhereClause
EXEC (@strSQLCommand)) skapar en markör för att fungera med insida, en SP
FÖRKLARAR myCursorMARKÖREN FOR
VALDA Tran_MasterUniqID, Tran_ThisPaid, Tran_ThisDiscnt, Tran_NewFlagComplete
FRÅN TBL_WORK_TranAllocs
, VAR Tran_AddrKind = @paramAddrKind OCH TBL_WORK_TranAllocs.Tran_AddrCode = tid för

This för @paramAddrCode OCH (TBL_WORK_TranAllocs.Tran_ThisPaid<>0 ELLER TBL_WORK_TranAllocs.Tran_ThisDiscnt<>0) för

(dessa två exempel är unrelated naturligtvis och är precis att visa vad jag har varit kompetent att få funktionsduglig insidaSPs i förflutnan.) mig skulle något liknande till sammanslutningen båda dessa typer av handlingar, ie skapar en markör using ett VALT meddelande med a passera-i VAR satsen. Min egna försök har missat thus far.

Can som någon visar mig SQL-syntaxen att skulle uppnå denna insida en SP? tack för

Many,
" klar "

Svar : I en SQL-server det lagrade tillvägagångssättet, hur jag förklarar en markör using var satsen passerade in som en parameter?

Colin,

Så länge som din app är den enda en bortgången VAR satsen, då du är antagligen rimligen kassaskåpet.  Utfärda är inte din kodifierar, though.  Sql-injektionar är normalt inte sortera av tinget som bäraren bygger in i hans app men, snarlikt, sortera av tinget som någon ondsint soul, som snubblar på din databas, gör ut ur ren meanness.

Kanske i stället för att passera VAR satsen, dig styrkan önskar att betrakta att passera de olika parametrarna som var utvalda för rapporten.  Du kunde passera OGILTIGT värderar för ej-valda parametrar, om behov är.  Därefter inom SPEN, utför dina uppdateringar som baseras på parametrarna i stället för på ”magin var satsen”.  Genom att använda parametrarna, du kan förebygga injektionattacken (, därför att den skulle, orsaka mestadels ett ogiltigt SQL-meddelande, i stället för utförande precis.),

Allt I-förmiddagen som ut pekar, är att tekniken som du använder (eller pröva att använda) är naturligt osäker och bör aldrig vara en del av en produktiondatabasapplikation.  Det överträder härskar bekant ”bäst övar allra”.

Andra lösningar  
 
programming4us programming4us