我有一个查询,其中基于列值,我的排序将是动态的。所以,它是这样的:
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 顺序进行数字排序。
任何想法都会有帮助......
我们的数据文件之一达到了 32G 的最大值。因此,我们在该表空间中创建了第二个数据文件。
但是,我们忘记给出默认的 NEXT 大小。因此,文件 1 的 NEXT 为 50MB。文件 2 的 NEXT 为 8k。
这些是本地管理的,所以,我猜唯一要做的就是创建一个新的表空间,然后移动所有对象。或者还有其他解决方案吗?一个问题:如何移动TYPES?我需要删除并重新创建那些吗?这将使很多事情无效......
有什么建议?我可以仅隔离该数据文件中的对象吗?
感谢您。
这对大多数人来说可能很简单,但我有一个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)
谁能帮助我做错了什么?
非常感谢
我们有一个登录触发器,它通过 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,但是没有用......
允许本地登录有什么技巧吗?