Transferul datelor către procedurile stocate

Procedurile stocate SQL Server pot avea o mulțime de parametri de intrare și ieșire (mai precis, până la 2100 de unități).

În instrucțiunea CREATE PROCEDURE, puteți să listați parametrii transmiși procedurii memorate, specificându-le direct după numele lor. Fiecare dintre parametri trebuie să înceapă cu simbolul @. Pentru o procedură stocată, aceasta este o variabilă locală. La fel ca toate variabilele locale, parametrii trebuie să fie declarați cu tipuri de date valide. Atunci când apelați o procedură stocată, trebuie să fie specificați toți parametrii (dacă, desigur, unii dintre ei nu au valori implicite).

CREATE PROCEDURE CategoryGet

SELECT ProductCategoryName, ProductCategoryDescription FROM dbo.ProductCategory

WHERE ProductCategoryName = @CategorieName, *

La executarea următorului cod de program, procedura stocată este trecut ca parametru literalului "Kite", care este înlocuit ca o variabilă locală în clauza WHERE a interogării SELECT:

EXEC CategoryGet 1 Kite ';

Rezultatul executării procedurii stocate:

Kite o varietate de zmee, de la simplu

cascadorie, chineză, la noutate

Dacă o procedură stocată este trecută de mai mulți parametri, atunci ei trebuie să păstreze ordinea specificată în definiție. De asemenea, puteți trece parametrii în orice ordine, dar specificați numele acestora. Dacă aceste două metode sunt amestecate, atunci după prima indicație explicită a numelui parametrului, toate celelalte trebuie să utilizeze aceeași metodă.

Următoarele trei exemple demonstrează apelurile la procedurile stocate și transmiterea parametrilor utilizând ordinea și denumirile originale:

EXEC StoredProcedure @Parameterl = n,

@ Parametru2 = 'l 1;

EXEC StoredProcedure n, 'n';

EXEC StoredProcedure n, @ Parametru2 = 'n';

Valorile implicite ale parametrilor

Când apelați o procedură memorată, trebuie să specificați toți parametrii acesteia, cu excepția celor pentru care au fost definite valorile implicite. În definiția unei proceduri stocate, valorile implicite sunt determinate prin adăugarea semnului egal și a valorii la numele parametrului: CREATE PROCEDURE proc_name (

@ variabilă data_type = valoare implicită);

CREATE PROCEDURE pProductCategory_Fetch2 (

SELECT ProductCategoryName, ProductCategoryDescription DIN dbo.ProductCategory UNDE ProductCategoryName = @Search SAU @Search IS NULL;

Dacă @@ RowCount = 0 RAISERROR (

EXEC pProductCategory_Fetch 'OBX';

Se va obține următorul rezultat:

În cazul în care procedura pProductCategory_Fetch este efectuată fără un parametru explicit, variabila @Search atribuie o valoare implicită - nulă, ceea ce face ca adevărata îndeplinirea condiției de clauza WHERE pentru toate rândurile de masă ProductCategory.

Accesorii accesorii pentru călătorie

Rezervați cărți Outer Banks

Îmbrăcăminte OBX tricouri, pălării, jachete

Kite o varietate de zmee, de la simplu

cascadorie, la chinezi, la materialul de noutate Materiale de construcții Kite

Contexte și lecții de cascadorii video,

și clipurile Outer Banks







Articole similare

Trimiteți-le prietenilor: