Kan ons skikking na gestoorde prosedure in SQL Server oordra?
Kan ons skikking na gestoorde prosedure in SQL Server oordra?

Video: Kan ons skikking na gestoorde prosedure in SQL Server oordra?

Video: Kan ons skikking na gestoorde prosedure in SQL Server oordra?
Video: Geavanceerde SQL-zelfstudie | Opgeslagen procedures + gebruikscasussen 2024, Desember
Anonim

Daar is geen ondersteuning vir skikking in sql bediener maar daar is verskeie maniere waarop jy kan slaag versameling na 'n gestoor prok.

Benewens dit, kan ons 'n lys in gestoorde prosedure slaag?

Nee, skikkings/ lyste kan nie direk na SQL Server oorgedra word nie. Die volgende opsies is beskikbaar: Verby 'n komma-geskeide lys en dan met 'n funksie in SQL verdeel die lys . Die komma afgebaken lys sal sal waarskynlik as 'n Nvarchar() geslaag word

Tweedens, hoe gee jy 'n komma-geskeide stringwaarde deur na 'n gestoorde prosedure in SQL? Die volgende gestoorde prosedure kry die rekords van Werknemers waarvoor die ID's deurgegee word deur gebruik te maak van 'n string geskei (geskei) deur komma.

  1. SKEP PROSEDURE GetEmployees.
  2. @EmployeeIds VARCHAR(100)
  3. AS.
  4. BEGIN.
  5. KIES Voornaam, Van.
  6. VAN Werknemers.
  7. WAAR Werknemer-ID IN(
  8. KIES CAST(Item AS HEELGETAL)

Gevolglik, hoekom sou 'n groot skikking nie volgens waarde na 'n prosedure oorgedra moet word nie?

Die rede waarom jy kan 't slaag an skikking deur waarde is want daar is geen spesifieke manier om 'n skikking se grootte sodanig dat die funksie aanroep logika sou weet hoeveel geheue om toe te ken en wat om te kopieer. Jy kan slaag 'n klasgeval omdat klasse het konstrukteurs. Skikkings nie.

Wat is tabelwaarde-parameters?

A tafel - gewaardeerde parameter is 'n parameter met 'n tafel tipe. Die gebruik van hierdie parameter , kan jy veelvuldige rye data stuur na 'n gestoorde prosedure of 'n geparameteriseerde SQL-opdrag in die vorm van 'n tafel . Transact-SQL kan gebruik word om toegang tot die kolomwaardes van die tafel - gewaardeerde parameters.

Aanbeveel: