小编pOr*_*inG的帖子

sqlplus 中的 -s 选项是做什么用的?

对 shell 脚本有点陌生,想知道在 shell 脚本中 -s 选项 [sqlplus -s] 的使用。

提前致谢。

shell sqlplus

4
推荐指数
1
解决办法
9646
查看次数

验证 Oracle 列名

在一种情况下,我们正在动态地动态创建 sql 到create临时表。table_name 没有问题,因为它是由我们决定的,但是列名是由我们无法控制的来源提供的。

通常我们会使用以下查询检查列名:

select  ..
where NOT REGEXP_LIKE (Column_Name_String,'^([a-zA-Z])[a-zA-Z0-9_]*$') 
OR Column_Name_String is NULL
OR Length(Column_Name_String) > 30
Run Code Online (Sandbox Code Playgroud)

但是,是否有任何内置功能可以进行更广泛的检查。也欢迎对上述查询的任何输入。

提前致谢。


基于以下答案的最终查询:

select  ..
where NOT REGEXP_LIKE (Column_Name_String,'^([a-zA-Z])[a-zA-Z0-9_]{0,29}$') 
OR Column_Name_String is NULL
OR Upper(Column_Name_String) in (select Upper(RESERVED_WORDS.Keyword) from V$RESERVED_WORDS RESERVED_WORDS)
Run Code Online (Sandbox Code Playgroud)

特别不满意列名中像 $ 这样的字符,因此也不会使用..

dbms_assert.simple_sql_name('VALID_NAME')
Run Code Online (Sandbox Code Playgroud)

相反,使用正则表达式,我可以决定允许使用自己的一组字符。

oracle oracle11g

4
推荐指数
2
解决办法
1699
查看次数

了解带有 -p、-i 和 -e 开关的 Perl 单行代码

其中一个模块中已经存在一个 perl 脚本,我想了解/知道它是如何工作的以及传递的参数的含义。

\n\n

我试图找到在线传递的参数的描述,但是我找不到任何好的资源来解释它。

\n\n
perl -p -i -e 's/\xc3\xbf//g' filename\n
Run Code Online (Sandbox Code Playgroud)\n\n

请帮助理解工作流程。

\n

perl

-1
推荐指数
1
解决办法
475
查看次数

标签 统计

oracle ×1

oracle11g ×1

perl ×1

shell ×1

sqlplus ×1