注册

@@sql 后面能跟&1带参变量吗?

codePanda 2025/10/15 61 0

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM Database Server 64 V8--03134284368-20250430-272000-20149 Pack1
【操作系统】:el7.x86_64
【CPU】:无影响
【问题描述】*:@@sql 后面能跟&1带参变量吗?
有一个sql用来查询对象信息,他是这样的一个流程:o.sql文件去调用o2.sql文件,
o.sql 内容是:@@o2 "%&1%"
o2.sql 是查询对象信息的sql:
select
owner o_owner,
object_name o_object_name,
object_type o_object_type,
status o_status,
object_id oid,
data_object_id d_oid,
created,
last_ddl_time
from
dba_objects
where
upper(object_name) LIKE
upper(CASE
WHEN INSTR('&1','.') > 0 THEN
SUBSTR('&1',INSTR('&1','.')+1)
ELSE
'&1'
END
)
AND owner LIKE
CASE WHEN INSTR('&1','.') > 0 THEN
UPPER(SUBSTR('&1',1,INSTR('&1','.')-1))
ELSE
user
END
order by
o_object_name,
o_owner,
o_object_type;

o.sql是:@@o2 &1 时调用 @o panda.tab1,并没有把后边参数替换
e302c8f7898a5b36adff4ec1c2bc038.png
o.sql是:@@o2 panda.tab1 时调用 @o panda.tab1是没问题的
85e58f60fbcddd791937319ebc10021.png

回答 0
暂无回答
扫一扫
联系客服