输入参数在查询存储过程中传递
如何动态地在查询中传递IN变量。示例如下(使用oracle db): 我想检查num_pattern模式是否与CALLNUM匹配。输入参数在查询存储过程" title="存储过程">存储过程中传递
create or replace PROCEDURE EXECUTE_CDIV (
CALLNUM IN VARCHAR2,
RESULT OUT VARCHAR2
)
AS
BEGIN
select count(1) into RESULT
from datatable
where num_pattern like 'CALLNUM%' ;
END;
回答:
你可以尝试这样的:
select count(*) into RESULT from datatable where num_pattern like CALLNUM||'%'
回答:
如果可以,为什么不使用REGEXP_LIKE,而不是像这样,你不需要把那个%在query..also它的功能更强大比LIKE操作
create or replace PROCEDURE EXECUTE_CDIV (
CALLNUM IN VARCHAR2,
RESULT OUT VARCHAR2
)
AS
BEGIN
select count(1) into RESULT
from datatable
where regexp_like(num_pattern, CALLNUM);
END;
/
参考文档,你可以把更多的选择,如果这方面的需求是区分大小写的搜索... https://docs.oracle.com/cd/B12037_01/server.101/b10759/conditions018.htm
http://www.techonthenet.com/oracle/regexp_like.php
http://www.sqlsnippets.com/en/topic-11741.html
以上是 输入参数在查询存储过程中传递 的全部内容, 来源链接: utcz.com/qa/260810.html