相关疑难解决方法(0)

构建动态 Oracle Where 子句

我正在研究使用动态查询根据用户输入执行选择语句的应用程序,在与 DBA 讨论安全性之后,他们希望我将动态选择语句转换为存储过程。

我已经使用 MSSQL 构建了动态 sql,但我不知道如何将其转换为 Oracle SQL。

CREATE PROCEDURE GetCustomer
@FirstN nvarchar(20) = NULL,
@LastN nvarchar(20) = NULL,
@CUserName nvarchar(10) = NULL, 
@CID nvarchar(15) = NULL as
DECLARE @sql nvarchar(4000),
SELECT @sql = 'C_FirstName, C_LastName, C_UserName, C_UserID ' + 
'FROM CUSTOMER ' +
'WHERE 1=1 ' +

IF @FirstN  IS NOT NULL
SELECT @sql = @sql + ' AND C_FirstName like @FirstN '
IF @LastN  IS NOT NULL 
SELECT @sql = @sql + ' AND C_LastName like @LastN …
Run Code Online (Sandbox Code Playgroud)

oracle where

7
推荐指数
2
解决办法
3万
查看次数

标签 统计

oracle ×1

where ×1