首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不允许数据定义操作的绑定变量(创建视图表)

不允许数据定义操作的绑定变量(创建视图表)
EN

Stack Overflow用户
提问于 2022-11-18 14:09:30
回答 1查看 27关注 0票数 0
代码语言:javascript
复制
CREATE VIEW "KIR_V_KAS_MASUK_KET" ("KODE_KAS", "NIS", "NAMA", "KELAS", "JURUSAN", "PERIODE", "TOTAL_PEMBAYARAN", "TOTAL_WAJIB_BAYAR", "KETERANGAN") as
    SELECT DISTINCT
KMH.KODE_KAS,
KA.NIS,
KA.NAMA,
KA.KELAS,
KA.JURUSAN,
(SELECT PERIODE FROM KIR_KAS_MASUK_HEAD WHERE KODE_KAS=:P16_KODE_KAS) PERIODE,
TO_CHAR((SELECT SUM(PEMBAYARAN)  FROM KIR_KAS_MASUK_DETAIL WHERE KODE_KAS = :P16_KODE_KAS), '999,999,999') TOTAL_PEMBAYARAN,
TO_CHAR(WAJIB_BAYAR * (SELECT COUNT(*) FROM KIR_ANGGOTA WHERE STATUS != 'TIDAK AKTIF'), '999,999,999') TOTAL_WAJIB_BAYAR,
KMD.KETERANGAN
FROM
KIR_ANGGOTA KA,
KIR_KAS_MASUK_HEAD KMH,
KIR_KAS_MASUK_DETAIL KMD
WHERE
KMD.KODE_KAS=KMH.KODE_KAS
AND
KMD.NIS=KA.NIS
/

我希望有人纠正我在第10/45行中的语法,因为is说“第10/45行的错误: ORA-01027:不允许数据定义操作的绑定变量”。我真的不知道如何修正语法。

我需要创建一个视图表,以便我可以创建这个表单我想使用上面的代码构建的结果

EN

回答 1

Stack Overflow用户

发布于 2022-11-18 14:39:38

获得错误的原因是视图中有绑定变量(例如(SELECT PERIODE FROM KIR_KAS_MASUK_HEAD WHERE KODE_KAS=:P16_KODE_KAS)),根据错误,视图定义中不允许绑定变量。

您可以做的是创建一个上下文(需要与一个包相关联)--有关如何这样做的示例,请参阅文献资料,为该上下文分配一个值,然后在您的视图中使用它。

然后,您将在关联的包中有一个过程,该过程设置您感兴趣使用dbms_session.set_context的特定上下文值。

例如,类似:

代码语言:javascript
复制
create or replace context your_context using your_schema.your_package;

create or replace package your_package
as
  ...
  procedure set_your_view_context_value (view_context_value);
  ...
end your_package;
/

create or replace package body your_package
as
  ...
  procedure set_your_view_context_value (view_context_value)
  is
  begin
    dbms_session.set_context('YOUR_CONTEXT', 'ATTRIBUTE_NAME', view_context_value);
  end set_your_view_context_value;
  ...
end your_package;
/

create or replace view your_view
as
select sys_context('YOUR_CONTEXT', 'ATTRIBUTE_NAME')
from   dual;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74490917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档