是否可以从 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;
/
答案 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;
/