Apache ZooKeeper WEB-UI(Apache ZooKeeper WEB-UI)
是否有任何Web界面来检查动物园管理员中存在的数据(或树)?
CLI很难获取树和数据的完整图片。
谢谢。
Is there any web-interface to check the data ( or tree ) present in the zookeeper ?
CLI is bit hard to get the complete picture of the tree and data.
Thanks.
原文:https://stackoverflow.com/questions/41199713
最满意答案
您不需要在SALESTRANSACTION的行触发器中查询SALESTRANSACTION - 您应该使用调用触发器的SALESTRANSACTION行上的:NEW值。 我建议你重写你的触发器:
create table excellentsales (EXCELLENTSALES_ID NUMBER CONSTRAINT PK_EXCELLENTSALES PRIMARY KEY USING INDEX, agentid varchar2(5) not null, agentname varchar2(25), carmodel varchar2(25), mfname varchar2(25)) CREATE SEQUENCE EXCELLENTSALES_SEQ START WITH 1 INCREMENT BY 1; create or replace trigger filltable after insert on salestransaction for each row declare aname varchar2(25); modname varchar2(25); manfname varchar2(25); askpr number; agrpr number; begin SELECT m.NAME, mf.NAME, c.ASKINGPRICE INTO modname, manfname, askpr FROM CAR c INNER JOIN MODEL m ON m.MODELNO = c.MODELNO INNER JOIN MANUFACTURER mf ON mf.MANUFACTURERID = m.MANUFACTURERID WHERE c.VIN = :NEW.VIN; SELECT sa.NAME INTO aname FROM SALESAGENT sa WHERE sa.AGENTID = :NEW.AGENTID; agrpr := :NEW.AGREEDPRICE; if agrpr > askpr * 1.2 then insert into excellentsales (EXCELLENTSALES_ID, AGENTID, AGENTNAME, CARMODEL, MFNAME) values(EXCELLENTSALES_SEQ.nextval, :NEW.AGENTID, aname, modname, manfname); end if; end filltable;
我还重新设计了您的EXCELLENTSALES表,以包含一个不是AGENTID的主键。 最初设计的EXCELLENTSALES没有记录实际的AGENTID(显然应该来自SALESTRANSACTION),在现实世界中可能需要,例如,支付佣金。
You don't need to query SALESTRANSACTION within a row trigger on SALESTRANSACTION - you should instead be using the :NEW values on the SALESTRANSACTION row for which the trigger was invoked. I suggest rewriting your trigger as:
create table excellentsales (EXCELLENTSALES_ID NUMBER CONSTRAINT PK_EXCELLENTSALES PRIMARY KEY USING INDEX, agentid varchar2(5) not null, agentname varchar2(25), carmodel varchar2(25), mfname varchar2(25)) CREATE SEQUENCE EXCELLENTSALES_SEQ START WITH 1 INCREMENT BY 1; create or replace trigger filltable after insert on salestransaction for each row declare aname varchar2(25); modname varchar2(25); manfname varchar2(25); askpr number; agrpr number; begin SELECT m.NAME, mf.NAME, c.ASKINGPRICE INTO modname, manfname, askpr FROM CAR c INNER JOIN MODEL m ON m.MODELNO = c.MODELNO INNER JOIN MANUFACTURER mf ON mf.MANUFACTURERID = m.MANUFACTURERID WHERE c.VIN = :NEW.VIN; SELECT sa.NAME INTO aname FROM SALESAGENT sa WHERE sa.AGENTID = :NEW.AGENTID; agrpr := :NEW.AGREEDPRICE; if agrpr > askpr * 1.2 then insert into excellentsales (EXCELLENTSALES_ID, AGENTID, AGENTNAME, CARMODEL, MFNAME) values(EXCELLENTSALES_SEQ.nextval, :NEW.AGENTID, aname, modname, manfname); end if; end filltable;
I also redesigned your EXCELLENTSALES table to include a primary key which is not the AGENTID. As originally designed EXCELLENTSALES did not record the actual AGENTID (which should apparently be coming from SALESTRANSACTION), which in the real world might be needed, for example, for paying commissions.
相关问答
更多-
您的问题是您正在尝试在分组上下文中访问非aggragate( LOBDESC )。 您有两个选择,选择最有意义的选项: 将LOBDESC添加到GROUP BY 使用聚合函数,即MAX(LOBDESC) Your problem is that you are trying to access a non aggragate (LOBDESC) in a grouping context. You have two options, choose the one which makes most sense: ...
-
ORA-06504:PL / SQL:执行时返回结果集变量的类型(ORA-06504: PL/SQL: Return types of Result Set variables while execution)[2022-04-23]
您正在使用表集合表达式来取消您的表集合: Open out_cur for select col_id,col_date from table(l_tab); 查询返回两个关系列,而不是单个对象,因此您的游标也有两列。 尝试将两个关系列批量收集到匿名块中的单个对象中会引发异常。 我想,你可以将它们重新组合为对象: Open out_cur for select OBJ_TST(col_id,col_date) from table(l_tab); 或者如果您不想显式列出列/字段名称: Open out_ ... -
PL SQL数字或值错误(PL SQL numeric or value error)[2022-07-12]
您可能正在循环一个空集合。 在使用act_dr.FIRST和act_dr.LAST之前,您需要检查act_dr是否有某些行,否则您将获得null,这不是数字。 这可以通过以下方式完成: if act_dr.count > 0 then FOR K IN act_dat.FIRST..act_dat.LAST LOOP insert into my_SAuditor_table VALUES (act_dat(K).tab_name, act_dat(K).col_name); END LOOP; ... -
最简单的做法,可以通过@ Hamidreza的链接得到,就像这样: set timing on; select * from table_name where customer_id=1; 执行时间将显示在所选记录的下方。 The simplest way to do this, courtesy of @Hamidreza's link, is like this: set timing on; select * from table_name where customer_id=1; The exe ...
-
PL / Sql查询执行错误(PL/Sql query execution error)[2023-04-13]
您不需要在SALESTRANSACTION的行触发器中查询SALESTRANSACTION - 您应该使用调用触发器的SALESTRANSACTION行上的:NEW值。 我建议你重写你的触发器: create table excellentsales (EXCELLENTSALES_ID NUMBER CONSTRAINT PK_EXCELLENTSALES PRIMARY KEY USING INDEX, agentid varchar2(5) not null, agentnam ... -
您分配给I_BULK_LIMIT价值是I_BULK_LIMIT ? PLS-06500错误通常意味着应用程序内存不足。 因此,您需要查看在程序中分配的变量。 但阵列使用的内存最可能是罪魁祸首。 如果限制当前设置为超过几千,您应该考虑设置下限。 What value are you assigning to I_BULK_LIMIT? The PLS-06500 error often means the application has run out of memory. So you need to lo ...
-
您需要升级到Oracle的当前版本。 可以通过访问以下网址下载此版本: https : //support.quest.com/SUPPORT/index?page = downloads。 希望这可以帮助。 You need to Upgrade to the current version for Oracle. This version can be downloaded by going to: https://support.quest.com/SUPPORT/index?page=downloa ...
-
where name=必须为大写的where name= ,Oracle默认情况下所有对象名称都是大写的,除非明确引用(一般来说这是个坏主意)。 更好的是: select err.name , err.type , err.line , err.position , err.text from user_errors err join user_objects ojt on ojt.object_name = err.name and ojt.o ...
-
通过VBA进行PL / SQL查询(PL/SQL query via VBA)[2023-02-23]
对于使用SQL ANSI DATE或SQL ANSI TIME运算符的隐式转换,您可以尝试使用下面的ANSI Date'YYYY-MM-DD'或ANSI Time'HH:MM:SS'SQL 格式 。 SELECT x, y, z FROM table WHERE COLUMN_DATE = DATE '2017-05-05' SELECT x, y, z FROM table WHERE COLUMN_TIME = TIME '23:59:59' - according such "COL_" exists ... -
PL / SQL数值或值错误(PL/SQL numeric or value error)[2023-06-01]
acc number(10); -- ... acc := '&Insert_account:' ; 看不出有什么问题? XD 所以是的,因为输入了PL-SQL,你不能在你声明为数字的变量中加入刺激。 acc number(10); -- ... acc := '&Insert_account:' ; Don't see any problem ? XD So yes, as PL-SQL is typed, you can't put a sting in a variable y ...