SSRS - 使用ORACLE执行的准备查询

时间:2016-04-08 12:15:21

标签: sql oracle dynamic reporting-services dataset

是否可以从 ORACLE数据库的预准备语句获得结果,如下面针对SQL Server的类似示例?

SQL SERVER: 我创建了名为 WHERE 的参数,用于使用“where”条件,例如

FirstName = 'Peter'

这是在数据集中定义的查询:

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

这是正常的!

所以我的问题是,是否有可能为ORACLE数据库复制它,我测试了下面这样的东西,但它不起作用。

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

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

  EXECUTE IMMEDIATE (sql_query);
end;
/

1 个答案:

答案 0 :(得分:0)

没问题......只需使用字符串连接:

 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;
/