Heim >Datenbank >MySQL-Tutorial >Wie kann ich Parameter an Ansichten in SQL Server übergeben?

Wie kann ich Parameter an Ansichten in SQL Server übergeben?

DDD
DDDOriginal
2024-12-26 01:58:10597Durchsuche

How Can I Pass Parameters to Views in SQL Server?

Parameterübergabe in Ansichten in SQL

Im Gegensatz zu gespeicherten Prozeduren erlauben Ansichten in SQL Server keine direkte Parameterübergabe. Dies kann eine Einschränkung darstellen, wenn Daten basierend auf benutzerdefinierten Kriterien gefiltert werden müssen.

Ein Lösungsversuch für dieses Problem besteht darin, eine Ansicht mit einem Parameter zu erstellen, wie unten gezeigt:

create or replace view v_emp(eno number) as select * from emp where emp_id=&eno;

Dies funktioniert jedoch nicht in SQL Server.

Eine alternative Lösung: Gespeicherte Funktionen

An Ein alternativer Ansatz zur Übergabe von Parametern an ansichtsähnliche Funktionen besteht darin, eine gespeicherte Funktion zu erstellen. Eine gespeicherte Funktion kann mit Eingabeparametern definiert werden und kann eine Tabelle als Ergebnismenge zurückgeben.

Hier ist ein Beispiel einer gespeicherten Funktion, die als parametrisierte Ansicht fungieren kann:

CREATE FUNCTION v_emp (@pintEno INT)
RETURNS TABLE
AS
RETURN
   SELECT * FROM emp WHERE emp_id=@pintEno;

Dies Die gespeicherte Funktion nimmt einen ganzzahligen @pintEno-Parameter an und gibt eine Tabelle mit Mitarbeitern zurück, die dieser ID entsprechen.

Um die gespeicherte Funktion zu verwenden, können Sie sie wie folgt aufrufen: Ansicht:

SELECT * FROM v_emp(10)

Dadurch werden alle Mitarbeiter mit einer emp_id von 10 zurückgegeben.

Das obige ist der detaillierte Inhalt vonWie kann ich Parameter an Ansichten in SQL Server übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn