Inline table functions: uebernahme von tabellenänderungen

08/09/2008 - 15:49 von mike | Report spam
Hi !

Ich habe eine inline Table Valued Function gemacht:
CREATE FUNCTION [dbo].[fnx] (@FK int)
RETURNS TABLE
AS RETURN
( select * from tablexxx where FK=@FK )

wenn ich in tablexxx felder hinzufüge, so liefert die funktion nicht mehr
alle (*) felder zurück, sondern soviele wie vor der tabellenaktualisierung
vorhanden waren. wenn ich spalten eingefügt anstatt zum schluss angehàngt
habe, so wird der inhalt der spalte, die vor der ànderung da war angezeigt.

Erst wenn ich ein ALTER FUNCTION auf diese FUNCTION mache ohne Änderungen
werden die Tabellenànderungen übernommen
Warum wird das nicht automatisch aktualisiert ?

DAnke, lg michael
 

Lesen sie die antworten

#1 Michael Monarch
08/09/2008 - 16:04 | Warnen spam
Servus Mike,

das wird nicht autom. aktualisiert (soweit mir das bekannt ist)

Versuch mal ...

Neue Sicht mit Name "V1" Code "select * from tablexxx"

Die Funktion àndern ...

CREATE FUNCTION [dbo].[fnx] (@FK int)
RETURNS TABLE
AS RETURN
exec sp_refreshview V1
( select * from V1 where FK=@FK )

Müsste funzen

mfg michael

"mike" wrote:

Hi !

Ich habe eine inline Table Valued Function gemacht:
CREATE FUNCTION [dbo].[fnx] (@FK int)
RETURNS TABLE
AS RETURN
( select * from tablexxx where FK=@FK )

wenn ich in tablexxx felder hinzufüge, so liefert die funktion nicht mehr
alle (*) felder zurück, sondern soviele wie vor der tabellenaktualisierung
vorhanden waren. wenn ich spalten eingefügt anstatt zum schluss angehàngt
habe, so wird der inhalt der spalte, die vor der ànderung da war angezeigt.

Erst wenn ich ein ALTER FUNCTION auf diese FUNCTION mache ohne Änderungen
werden die Tabellenànderungen übernommen
Warum wird das nicht automatisch aktualisiert ?

DAnke, lg michael

Ähnliche fragen