2016-04-08 3 views
0

Ist möglich, das Ergebnis von vorbereiteten Anweisung von ORACLE-Datenbank wie ähnliche Beispiel unten für SQL Server zu erhalten?SSRS - vorbereitete Abfrage mit ORACLE ausgeführt

SQL SERVER: ich mit Parameternamen erstellt haben WHERE für die Verwendung von "where" Zustand, zum Beispiel

FirstName = 'Peter' 

Und hier ist die Abfrage in Datensatzes definiert:

declare @query nvarchar(max) 
    set @query= 'SELECT FirstName, LastName 
FROM [AdventureWorksDW2012].[dbo].[DimEmployee] WHERE ' + @WHERE 
    exec(@query) 

Und das funktioniert richtig!

Also meine Frage ist, ob es möglich ist, es für ORACLE-Datenbank zu replizieren, habe ich etwas wie folgt getestet, aber es funktioniert nicht.

declare 
    sql_query varchar2(150); 
begin 
    sql_query := 'SELECT FirstName, LastName FROM DimEmployee WHERE '; 

    sql_query := sql_query || ' ' || @WHERE; 

    EXECUTE IMMEDIATE (sql_query); 
end; 
/

Antwort

0

Kein Problem ... Verwenden Sie einfach Zeichenfolge Verketten:

declare 
    sql_query varchar2(150); 
    where varchar2(1000); 
begin 
    sql_query := 'SELECT FirstName, LastName FROM DimEmployee t WHERE '; 
    where := 't.FirstName like ''John Doe'''; 
    sql_query := sql_query || ' ' || where; 

    EXECUTE IMMEDIATE (sql_query); 
end; 
/