Could you hire me? Contact me if you like what I’ve done in this article and think I can create value for your company with my skills.

December 7, 2007 / by Zsolt Soczó

SQL Server 2008 újdonságok 1. – Tábla típusú paraméterek

A következő néhány hónapban minden nap rászánok kevés időt, hogy az SQL Server 2008-ba belemélyedjek, közben igyekszem dokumentálni a blogomban az újdonságokat. A cikkekben semmilyen tematika vagy sorrend nem lesz, egyszerűen csak magozok az elém kerülő újdonságokból.

Az első új fícsör a tábla típusú paraméterátadás. Ez finom dolog lesz, nem kell stringekbe serializálni a paramétereket, nem kell xmlt használni, hanem egyszerűen át lehet passzintani egy tábla típusú változót a hívott eljárásnak.

Ehhez a CREATE TYPE került felokosításra, ami már nem csak aliasokat tud (SQL Server 7), vagy CLR típusokat (SQL Server 2000), hanem tábla típusokat is (SQL Server 2008). Pl.

CREATE TYPE LocationTableType AS TABLE
(
LocationName VARCHAR(50),
CostRate INT
)

Aztán paraméterként így lehet használni mondjuk spben:

CREATE PROC Ize
(
@par LocationTableType
)

Komplett példa itt látható.

Belül mint egy sima táblát lehet joinolni, stb.

Miért is jó a BOL szerint:

Do not acquire locks for the initial population of data from a client.
Do not cause a statement to recompile.
Provide a simple programming model.
Enable you to include complex business logic in a single routine.
Reduce round trips to the server.
Can have a table structure of different cardinality.
Are strongly typed.
Enable the client to specify sort order and unique keys.

Az első pont mindjárt kíváncsivá tett, hogy lehet ADO.NET-ből feltölteni a tábla paramétert. Zseniálisan egyszerűen, sima DataTable-t kell feltölteni, és már mehet is be a szervernek. Állat.

Could you hire me? Contact me if you like what I’ve done in this article and think I can create value for your company with my skills.