gpt4 book ai didi

Oracle SQL*Plus : disable processing of '@' (at sign) metacharacter

转载 作者:行者123 更新时间:2023-12-01 08:04:45 26 4
gpt4 key购买 nike

Oracle SQL*Plus 解释 at 符号,@作为对 run a SQL script 的命令.

我有一个 .sql包含 @ 的脚本注释中的字符,例如:

create or replace package mypkg
as

/*
Procedure foo

@param bar blah blah blah
*/
procedure foo(bar varchar2);

end mypkg;
/

如何禁用 at 符号的处理?我已经在使用 SET DEFINE OFFSET SQLPREFIX OFF禁用不需要的元字符处理。

最佳答案

有几种方法可以禁用 START 命令(包括 @ 和 @@ 命令)。

一种方法是在 PRODUCT_USER_PROFILE(实际上是 SYSTEM.PRODUCT_PRIVS 的同义词)中放置适当的条目。为此,请执行类似于

INSERT INTO PRODUCT_USER_PROFILE
(PRODUCT, USERID, ATTRIBUTE, CHAR_VALUE)
VALUES
('SQL*Plus', 'DUMMY', 'START', 'DISABLED')

这要求您使用的用户 ID 对 PRODUCT_USER_PROFILE 具有 INSERT 权限。

第二种方法是在启动 SQL*Plus 时使用参数为 3 的 -RESTRICT 选项。这可能更简单,但您可能需要启用 -RESTRICT 3 禁用的其他命令,例如 SPOOL。请参阅 this page 中标题为“RESTRICT 选项”的部分了解更多信息。

分享和享受。

关于Oracle SQL*Plus : disable processing of '@' (at sign) metacharacter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12036190/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com