sql - 带有数字婴儿车的 oracle 修剪功能
问题描述
将类型声明为数字表(38,0)。在函数的过程中。
代码示例:
ids_list := Type(....); // load data to variable
ids_list.trim(count);
我不太明白如何用带有数字参数的数字列表来修剪列表。ids_list.trim(count) 会发生什么?
解决方案
如果我理解正确,那么您说的是集合及其trim
方法。如果是这样,那么文档说:
减小集合的大小(TRIM 方法)
这个过程有两种形式:
TRIM 从集合的末尾删除一个元素。
TRIM(n) 从集合的末尾删除 n 个元素。
如果要删除所有元素,请使用不带参数的 DELETE。
您发布的代码没有做任何事情,因为
SQL> declare
2 type numlist is table of number;
3 n numlist := numlist(1,2,3, 10);
4 begin
5 n.trim(count);
6 end;
7 /
n.trim(count);
*
ERROR at line 5:
ORA-06550: line 5, column 10:
PLS-00204: function or pseudo-column 'COUNT' may be used inside a SQL statement only
ORA-06550: line 5, column 3:
PL/SQL: Statement ignored
SQL>
也许您打算改用该count
方法 ( n.count
)?
SQL> declare
2 type numlist is table of number;
3 n numlist := numlist(1,2,3, 10);
4 begin
5 dbms_output.put_line('Number of elements in that collection = ' || n.count);
6
7 n.trim(n.count);
8
9 dbms_output.put_line('Number of elements in that collection AFTER trim = ' || n.count);
10 end;
11 /
Number of elements in that collection = 4
Number of elements in that collection AFTER trim = 0
PL/SQL procedure successfully completed.
SQL>
如果是这样,那么 - 如您所见 - 它会从集合中删除所有元素。
推荐阅读
- python - 从字典中的值中找到熊猫的平均值?
- javascript - index.js:1375 警告:列表中的每个孩子都应该有一个唯一的“关键”道具
- javascript - JS 控件在第二个滑块上不起作用,不确定如何定位
- sql - 关联不相关表中的值
- initialization - 使用 init 脚本在 dbfs 和 mvn 包中安装 jar 文件
- osgi - 导入包:com.day.cq.wcm.api,version=[1.29,2) 和 org.apache.sling.api.resource,version=[2.12,3) -- 无法解决
- sql - 计算双引号和括号之间的值
- sql - 从 BigQuery 的表中选择几行数据的简单方法?
- azure-data-explorer - 使用查询填充 KQL 中的扩展?
- bash - 使用 Bash 搜索文件