sql - 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>;
--------------------------------------------------------------------------------
解决方案
推荐阅读
- java - 生成java方法
- java - Appium:尝试在 IOS 设备上安装应用程序时出错
- python - Matplotlib:未保存背景颜色
- javascript - AJAX POST 请求是发送 JS 代码,而不是一个动作
- javascript - 在 XML HttpRequest POST 请求后设置新的 GET XMLHttpRequest() onload 函数并传递数据
- haskell - 定义与此 Haskell 函数等效的尾递归函数
- reactjs - 既找不到样式组件的秘密内部结构
- optaplanner - addProblemFactChange() 在“退出 neverEnding 选择器 (..) 以避免无限循环”后停止工作。
- android - 在房间数据库android中删除行
- c# - C# 使用蓝牙发送 AT 命令