首页 > 解决方案 > SQL Insert 声明行已插入,但在运行 select all from that table 时没有显示

问题描述

我试图在 Oracle SQL Developer 中更好地使用 CTE 已经运行了以下代码,我已将其简化为它的基本结构。它运行成功并说插入了 [x] 行,但是当我运行 SELECT * FROM [TableName] 时,即使在提交之后也没有任何显示。有人看到我在哪里搞砸了吗?

请注意,我取出了实际名称等,并用代表它的 < some field > 代替了它们。

--------------------------------------------------------------------------------
DROP TABLE <TableName> ;
--------------------------------------------------------------------------------
ALTER SESSION SET NLS_date_format = 'MM/DD/YYYY' ;
--------------------------------------------------------------------------------
CREATE TABLE <TableName> (
< Table Field Names> <Table Field Data Types>
);
--------------------------------------------------------------------------------
GRANT SELECT ON <TableName>  TO <User1>;
GRANT SELECT ON <TableName>  TO <User2>;
--------------------------------------------------------------------------------
INSERT INTO <TableName>
SELECT
  <Fields From CTE1, CTE2 & CTE3>
FROM (

WITH <CTE1> AS
  (
SELECT DISTINCT 
<Field Names From Table1>
FROM <Table1>
WHERE <Specific Field> NOT IN ('<input>')
  ),
--------------------------------------------------------------------------------
  <CTE2> AS
  (
SELECT DISTINCT 
<Fields From Table2>
FROM <Table2>
WHERE <Specific Field>  >= '<input>' 
AND <Specific Field> IN ('<input>')
GROUP BY 
  <Fields From Table2>
),
--------------------------------------------------------------------------------
<CTE3> AS
(
SELECT DISTINCT 
<Fields From Table3>
FROM <Table3>
WHERE  <Specific Field> = '<input>'
AND <Specific Field> >= '<input>'
AND <Specific Field> IN ('<input>')
)
--------------------------------------------------------------------------------
SELECT DISTINCT
*
FROM <CTE1> a

LEFT JOIN <CTE2> b
ON a.ID = b.ID

LEFT JOIN <CTE3> c
ON to_char(a.ID) = c.ID
)
--------------------------------------------------------------------------------
COMMIT;
--------------------------------------------------------------------------------
SELECT count(*) FROM <TableName>;
--------------------------------------------------------------------------------

标签: sqlplsqloracle-sqldevelopercommon-table-expression

解决方案


推荐阅读