小编Lit*_*oot的帖子

Oracle Apex 5.1 apex_item.checkbox2 始终显示为文本字符串

我试图在报告中显示以列表格式存储的复选框数据。例如,23:45:56 存储在数据库中,表示已检查然后从表单中保存的 3 个项目。我无法让它发挥作用,此后我试图让一个基本的例子发挥作用。

现在我尝试使用以下查询创建报告:

select apex_item.checkbox2(p_idx => 1, p_value => allocation_type_id) AS "Select" 
from allocation_type_l
Run Code Online (Sandbox Code Playgroud)

渲染的内容相当于一个字符串:

<input type="checkbox" name="f01" value="129" /> 
Run Code Online (Sandbox Code Playgroud)

从来没有选项可以将列类型更改为“复选框”。关于我可能做错了什么有什么建议吗?预先感谢您没有问“您为什么要做这样的事情?”

oracle oracle-apex oracle-apex-5.1

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

如何在 Oracle 中使用 for 循环进行插入?

我在使用以下 for 循环在 Oracle 中插入 100 万条记录时遇到问题。insert 语句独立工作,但不在循环内。我在这里做错了什么?

BEGIN
    FOR v_LoopCounter IN 385000000..1000000 LOOP
        INSERT INTO PORT (snb, real_exch, act_exch, user_type, status_id, category_id, assignable) 
            VALUES (TO_CHAR(v_LoopCounter),'GSMB','GSMB','GSM',0,90,'0');
        COMMIT;
    END LOOP;
END;
Run Code Online (Sandbox Code Playgroud)

sql oracle plsql loops insert

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

设置除以 0 返回 0

我突然想到 PL/SQL 可能有一种更简洁的方法来做到这一点:

我有一个程序可以被零除,但在所有情况下我都希望它返回 0。我当前的逻辑如下所示:

if bar <> 0 then
    foobar := foo/bar;
else
    foobar := 0;
end if;
Run Code Online (Sandbox Code Playgroud)

有谁知道更简单/更便宜的方法来做到这一点?我对 PL/SQL 还很陌生,我看到我可以使用异常处理程序,但这似乎跳过了操作。所以我想我可以破例zero_divide然后做:

foobar := 0;
foobar := foo/bar;
Run Code Online (Sandbox Code Playgroud)

不过,我担心这并不容易遵循。感谢您的任何见解!

oracle plsql divide-by-zero

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

如何从ORACLE中where子句的日期列中提取时间?

我想选择具有特定时间间隔的行,但日期无关紧要.所以我需要一个函数来返回时间部分.我试过用:

to_char(mydate, 'HH12:MI:SS') between '00:00:00' and '08:00:00' 
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用.有任何想法吗?

sql oracle where

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

如何在这个左连接中保留空记录?

即使在fruit_batch_info中没有记录,我也希望在我的结果中使用AP01,所以我正在使用左连接.

但是,只要我添加'where fruit_batch_info = 11',我的AP01就不再出现在我的结果中.

如何将AP01保留在我的结果中?

要求: 报告'all_fruits'中的所有记录以及有关'fruit_batch = 11'的任何信息

期望的结果

ID  , DESC   , BATCH, STORAGE 
----- -------- ------ ------------
APO1, Apple  , null , null  
PE01, Pear   , 11   , Warehouse-11
KU01, Kumquat, 11   , Warehouse-11
Run Code Online (Sandbox Code Playgroud)

这是我的查询:

with all_fruits as
(select 'AP01' as fruit_id, 'Apple' as fruit_desc from dual union all
 select 'PE01' as fruit_id, 'Pear' as fruit_desc from dual union all
 select 'KU01' as fruit_id, 'Kumquat' as fruit_desc from dual),
 fruit_batch_info as
 (select 'PE01' as fruit_id, '10' …
Run Code Online (Sandbox Code Playgroud)

sql left-join oracle11g

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

如何在另一个模式上创建外键?

我有两个oracle用户:User1和User2.

  • User1有一个表Users_
  • User2有一个表TestTable

我正在尝试在两个表之间创建一个外键约束,如下所示:

ALTER TABLE "User2"."TESTTABLE" ADD CONSTRAINT "TESTTABLE_CREATEDBY"
FOREIGN KEY (CREATEDBY) REFERENCES "User1"."USERS_" (ID) ENABLE
Run Code Online (Sandbox Code Playgroud)

User2有权在User1表上选择Users_(Grant select to user2 on Users_)

运行alter table语句时出现错误:权限不足.

有谁知道如何解决这个问题?

干杯,

oracle

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

使用 PL/SQL 函数体返回 SQL 查询

我正在使用 Oracle APEX,并且正在尝试在 PL/SQL 函数体中存储动态 sql 查询。这是我当前对经典报告的 SQL 查询:

SELECT 
    RELEASE,
    COUNT(*) as "Total Tests", --total
    SUM(CASE WHEN TYPE = 'P1' THEN 1 ELSE 0 END) as "P1",
    SUM(CASE WHEN TYPE = 'P2' THEN 1 ELSE 0 END) as "P2",
    SUM(CASE WHEN TYPE = 'P3' THEN 1 ELSE 0 END) as "P3",
    SUM(CASE WHEN TYPE = 'P4' THEN 1 ELSE 0 END) as "P4"
    FROM TABLENAME
group by RELEASE
ORDER BY case
    when RELEASE = '19.3' then 1
    when RELEASE …
Run Code Online (Sandbox Code Playgroud)

sql oracle plsql oracle-apex

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

为什么说sql查询中选择的列数错误?

所以我在代码编辑器 - Oracle Apex 中的 SQL 查询中,当我写下命令时

 "select product_name from product;"
Run Code Online (Sandbox Code Playgroud)

Oracle 正在回答错误:“ORA-20999:在 SQL 查询中选择的列数错误。有关详细信息,请参阅属性的帮助”。有人知道这里有什么问题吗?

sql oracle oracle-apex oracle-apex-5 oracle-apex-5.1

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

在 Apex 中提交表单之前添加确认

我正在尝试在 apex 中提交表单之前添加一个确认框。关于如何实现这一目标的任何想法?

 <script type="text/javascript">
   response = response2();

  function response2(){
  apex.confirm("Are you sure  you want to submit?)}
</script>
Run Code Online (Sandbox Code Playgroud)

oracle oracle-apex

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

Oracle 12c 一次性解锁所有锁定用户

您好,我想从 Oracle 12C 的 dba_users 中解锁用户列表。

我尝试过:

ALTER USER (SELECT username FROM dba_users WHERE ACCOUNT_STATUS LIKE '%LOCKED%') ACCOUNT UNLOCK;

ERROR at line 1:
ORA-01935: missing user or role name
Run Code Online (Sandbox Code Playgroud)

任何想法 ?或者我必须为每个用户手动执行?

sql oracle oracle12c

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