oracle 表单警报语法
oracle Form Alert syntax
我想在投资者没有任何交易时显示警报
表格:
Investor
Investor_Number PK Number (7,0) Not Null
First_Name Varchar2 (25) Not Null
Last_Name Varchar2 (30) Not Null
Account_Number Number (7,0) FK Not Null
Portfolio
Portfolio_Number PK Number (7,0) Not Null
Investor_Number Number (7,0) FK Not Null
Portfolio_Description Varchar2 (50) Null
Transaction
Portfolio_Number PK Number (7,0) FK
Stock_Code Varchar2 (10) FK
Transaction_Date Date
Exchange_Code Varchar2 (4) FK
Broker_Number Number (7,0) FK
Buy_Sell Char (1)
DECLARE
V_count number;
BEGIN
select count(portfolio_number)
into V_count
FROM Transaction
where portfolio_number = :PORTFOLIO.portfolio_number;
If V_count = null then
Message('No Transaction');
End if;
END;
上面的代码不起作用,我不知道语法。
现在我在块级别使用post-查询,当投资者没有任何交易时将显示警报。
两个块显示 "Investor" 和 "Portfolio"。它的工作原理是当点击下一条记录时,如果该记录没有任何交易,它会弹出一个警报。
假设您编写的查询工作正常,那么需要进行两处更改:
COUNT
不会returnNULL
;即使可以,您也会使用 if v_count is null
,而不是 if v_count = null
- 连续两次
MESSAGE
调用将强制 Forms 在屏幕上的弹出窗口 window 中显示消息;如果您只使用一个 MESSAGE
,它将显示在屏幕底部的状态行中
- 或者,查看 真实 警报如何工作;但是是的 - 2
MESSAGE
s 更简单
DECLARE
V_count number;
BEGIN
select count(portfolio_number)
into V_count
FROM Transaction
where portfolio_number = :PORTFOLIO.portfolio_number;
If V_count = 0 then --> COUNT never returns NULL
Message('No Transaction'); --> 2 consecutive MESSAGE calls to "simulate" an alert
Message('No Transaction');
else
Message('Number of transactions = ' || to_char(v_count));
Message('Number of transactions = ' || to_char(v_count));
End if;
END;
我想在投资者没有任何交易时显示警报
表格:
Investor
Investor_Number PK Number (7,0) Not Null
First_Name Varchar2 (25) Not Null
Last_Name Varchar2 (30) Not Null
Account_Number Number (7,0) FK Not Null
Portfolio
Portfolio_Number PK Number (7,0) Not Null
Investor_Number Number (7,0) FK Not Null
Portfolio_Description Varchar2 (50) Null
Transaction
Portfolio_Number PK Number (7,0) FK
Stock_Code Varchar2 (10) FK
Transaction_Date Date
Exchange_Code Varchar2 (4) FK
Broker_Number Number (7,0) FK
Buy_Sell Char (1)
DECLARE
V_count number;
BEGIN
select count(portfolio_number)
into V_count
FROM Transaction
where portfolio_number = :PORTFOLIO.portfolio_number;
If V_count = null then
Message('No Transaction');
End if;
END;
上面的代码不起作用,我不知道语法。
现在我在块级别使用post-查询,当投资者没有任何交易时将显示警报。 两个块显示 "Investor" 和 "Portfolio"。它的工作原理是当点击下一条记录时,如果该记录没有任何交易,它会弹出一个警报。
假设您编写的查询工作正常,那么需要进行两处更改:
COUNT
不会returnNULL
;即使可以,您也会使用if v_count is null
,而不是if v_count = null
- 连续两次
MESSAGE
调用将强制 Forms 在屏幕上的弹出窗口 window 中显示消息;如果您只使用一个MESSAGE
,它将显示在屏幕底部的状态行中- 或者,查看 真实 警报如何工作;但是是的 - 2
MESSAGE
s 更简单
- 或者,查看 真实 警报如何工作;但是是的 - 2
DECLARE
V_count number;
BEGIN
select count(portfolio_number)
into V_count
FROM Transaction
where portfolio_number = :PORTFOLIO.portfolio_number;
If V_count = 0 then --> COUNT never returns NULL
Message('No Transaction'); --> 2 consecutive MESSAGE calls to "simulate" an alert
Message('No Transaction');
else
Message('Number of transactions = ' || to_char(v_count));
Message('Number of transactions = ' || to_char(v_count));
End if;
END;