在大多数编程语言中,您可以快速编写变量的增量,如下例所示:
inc(variableName);
variableName++;
variableName += 1;
Run Code Online (Sandbox Code Playgroud)
Oracle Pl/Sql中有哪些方法可以执行此操作而不是使用以下方法:
variableName := variableName + 1;
Run Code Online (Sandbox Code Playgroud) 我需要在我的应用程序中概述您可以在数据库中的 sql 或 pl/sql 语句中使用的所有包。我需要带有描述的包名称和过程/函数。
例如:
dbms_output:提供一些输出的包
dbms_output.put_line:将一些输出返回到 serveroutput 的过程
这可以使用普通的 select 来完成吗?
我已经尝试了以下内容,它为我提供了数据,但没有提供描述,也没有提供程序包的程序和/或功能:
SELECT DISTINCT Owner, Object_Type, Object_Name FROM DBA_Objects_AE
WHERE Owner IN (
'SYS', 'OUTLN', 'SYSTEM', 'CTXSYS', 'DBSNMP',
'LOGSTDBY_ADMINISTRATOR', 'ORDSYS',
'ORDPLUGINS', 'OEM_MONITOR', 'WKSYS', 'WKPROXY',
'WK_TEST', 'WKUSER', 'MDSYS', 'LBACSYS', 'DMSYS',
'WMSYS', 'OLAPDBA', 'OLAPSVR', 'OLAP_USER',
'OLAPSYS', 'EXFSYS', 'SYSMAN', 'MDDATA',
'SI_INFORMTN_SCHEMA', 'XDB', 'ODM')
AND Object_Type IN ('PACKAGE', 'TYPE')
ORDER BY Owner, Object_Type, Object_Name;
select *
from all_objects
where object_type = 'PACKAGE';
Run Code Online (Sandbox Code Playgroud) 我有一些巨大的文件,其值由管道 (|) 符号分隔。我们引用的字符串,但有时引用的字符串之间有换行符。
我需要使用 Oracle 的外部表读取这些文件,但在换行符上他会给我错误。所以我需要用空格替换它们。
我对这些文件执行了一些其他 perl 命令来解决其他错误,所以我想在一行 perl 命令中找到一个解决方案。
我在 stackoverflow 上发现了一些其他类似的问题,但它们的作用并不完全相同,而且我无法使用那里提到的解决方案找到我的问题的解决方案。
我尝试过但不起作用的声明:
perl -pi -e 's/"(^|)*\n(^|)*"/ /g' test.txt
Run Code Online (Sandbox Code Playgroud)
示例文本:
4454|"test string"|20-05-1999|"test 2nd string"
4455|"test newline
in string"||"test another 2nd string"
4456|"another string"|19-03-2021|"here also a newline
"
4457|.....
Run Code Online (Sandbox Code Playgroud)
应该变成:
4454|"test string"|20-05-1999|"test 2nd string"
4455|"test newline in string"||"test another 2nd string"
4456|"another string"|19-03-2021|"here also a newline "
4457|.....
Run Code Online (Sandbox Code Playgroud)