小编Lan*_*tis的帖子

Oracle - 根据字符串和数字条件排序

我有一个查询,其中基于列值,我的排序将是动态的。所以,它是这样的:

ROW_NUMBER() OVER (PARTITION BY last_action 
                   ORDER BY CASE
                              WHEN last_action = 'Insert' THEN company_name
                              ELSE percent_change
                            END DESC
Run Code Online (Sandbox Code Playgroud)

这里的问题是它们是不同的数据类型,因此会引发错误。如果我将“percent_change”转换为字符,那么它不会按数字排序。而且,让事情变得复杂的是,他们想要 DESC 中的“percent_change”和 ASC 中的“company_name”。

所以,我在想是否有一种方法可以将实际的“company_name”转换为某个数值,然后从 0 中减去它,然后我可以按 DESC 顺序进行数字排序。

任何想法都会有帮助......

sorting oracle dynamic

2
推荐指数
1
解决办法
181
查看次数

更改表空间增量大小

我们的数据文件之一达到了 32G 的最大值。因此,我们在该表空间中创建了第二个数据文件。

但是,我们忘记给出默认的 NEXT 大小。因此,文件 1 的 NEXT 为 50MB。文件 2 的 NEXT 为 8k。

这些是本地管理的,所以,我猜唯一要做的就是创建一个新的表空间,然后移动所有对象。或者还有其他解决方案吗?一个问题:如何移动TYPES?我需要删除并重新创建那些吗?这将使很多事情无效......

有什么建议?我可以仅隔离该数据文件中的对象吗?

感谢您。

oracle tablespace

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

Perl数组哈希 - 严格引用

这对大多数人来说可能很简单,但我有一个Perl脚本,我不使用strict,并使用以下语法:

$welcome_data[$x]{email}       = $data[0];
Run Code Online (Sandbox Code Playgroud)

它工作正常.现在,当我启用严格:

$welcome_data[$x]{email}       = $data[0];
Can't use string ("") as a HASH ref while "strict refs" in use
Run Code Online (Sandbox Code Playgroud)

谁能帮助我做错了什么?

非常感谢

arrays perl hash strict

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

通过 IP 问题限制登录

我们有一个登录触发器,它通过 IP 限制访问:

IF UPPER(v_username) = 'CDEPROD' THEN
   IF SYS_CONTEXT('USERENV', 'IP_ADDRESS') NOT IN
       ('192.168.170.52',
        '192.168.170.40',
        '192.168.170.43',
        '192.168.170.54',
        '192.168.170.53',
        '192.168.170.58')
      OR SYS_CONTEXT('USERENV', 'IP_ADDRESS') IS NULL THEN
      RAISE_APPLICATION_ERROR(-20001, 'Can not log in from this IP address (' || SYS_CONTEXT('USERENV', 'IP_ADDRESS') || ')');
   END IF;
END IF;
Run Code Online (Sandbox Code Playgroud)

所以,触发器工作。但是,从本地,我无法以 CDEPROD 用户身份登录,它会引发应用程序错误。我想试试 127.0.0.1,但是没有用......

允许本地登录有什么技巧吗?

oracle triggers

0
推荐指数
1
解决办法
28
查看次数

标签 统计

oracle ×3

arrays ×1

dynamic ×1

hash ×1

perl ×1

sorting ×1

strict ×1

tablespace ×1

triggers ×1