Search

onze sponsors

microsoft_logo.gif


 

computrain_logo.JPG

Forum Login | Register
   Forum

 

Subject: Table valued functions
Prev Next
You are not authorized to post a reply.

Author Messages
jan NooitgedagtUser is Offline

Posts:2

18-02-2009 09:43:16 Alert 
Hallo,

Ik heb een table valued function gemaakt, die ik als volgt kan aanroepen :

Update dbo.tabelnaam

set

veld1 = (select veld_a from dbo.table_valued_function(param1,param2,param3,param4,param5)),

      veld2 = (select veld_b from dbo.table_valued_function(param1,param2,param3,param4,param5)),
      veld3
= (select veld_c from dbo.table_valued_function(param1,param2,param3,param4,param5)),
      veld4
= (select veld_d from dbo.table_valued_function(param1,param2,param3,param4,param5))

Is er een mogelijkheid om dit voor elkaar te krijgen zonder dat de functie 5 x wordt aangeroepen ?

De functie berekend namelijk veld_a t/m d tegelijk.

Alvast bedankt.
Robert HartskeerlUser is Offline

Posts:86

21-02-2009 14:29:33 Alert 
Afgaande op wat je beschrijft zou dit een oplossing zijn:
declare @velda [datatype]
declare @veldb [datatype]
declare @veldc [datatype]
declare @veldd [datatype]

select @velda = veld_a, @veldb = veld_b, @veldc = veld_c, @veldd = veld_d from dbo.table_valued_function(param1,param2,param3,param4,param5))

update dbo.tabelnaam set
veld1 = @velda,
veld2 = @veldb,
veld3 = @veldc,
veld4 = @veldd

Groeten,
Robert
Stefan Oude VrielinkUser is Offline

Posts:3

06-04-2009 12:47:28 Alert 
Een beetje late reactie, maar dit kan natuurlijk ook...:

UPDATE
dbo.tabelnaam
SET
veld1 = TVF.veld_a
, veld2 = TVF.veld_b
, veld3 = TVF.veld_c
, veld4 = TVF.veld_d
FROM
dbo.table_valued_function(param1,param2,param3,param4,param5) AS TVF

Groeten,
Stefan.
You are not authorized to post a reply.
Forums > Forums > Ontwikkelen > Table valued functions



ActiveForums 3.6
  
Copyright (c) 2012 PASS Nederland   Privacy Statement  Terms Of Use