0
我試圖通過在指定的表空間tbspUser1上連接4個表來創建單個表。通過在指定的表空間上連接多個表來創建單個表
我用下面的語句:
CREATE TABLE SingleTable AS(
SELECT customer.c_id AS Customer_ID,
customer.c_uname AS CUSTOMER_UName,
ORDERS.o_id AS Order_ID,
ORDER_LINE.ol_i_id As Order_Item_ID,
ITEM.I_TITLE AS Item_Title
FROM customer INNER JOIN orders ON customer.C_ID=orders.O_C_ID
INNER JOIN order_line ON orders.o_id=order_line.ol_o_id
INNER JOIN item ON order_line.ol_i_id=item.i_id) TABLESPACE tbspUser1;
我得到了錯誤:
Error starting at line 1 in command:
CREATE TABLE SingleTable AS(
SELECT customer.c_id AS Customer_ID,
customer.c_uname AS CUSTOMER_UName,
ORDERS.o_id AS Order_ID,
ORDER_LINE.ol_i_id As Order_Item_ID,
ITEM.I_TITLE AS Item_Title
FROM customer INNER JOIN orders ON customer.C_ID=orders.O_C_ID
INNER JOIN order_line ON orders.o_id=order_line.ol_o_id
INNER JOIN item ON order_line.ol_i_id=item.i_id) TABLESPACE tbspUser1
Error at Command Line:9 Column:50
Error report:
SQL Error: ORA-00933: SQL command not properly ended
00933. 00000 - "SQL command not properly ended"
*Cause:
*Action:
我一直在調試和檢查有什麼不對我的代碼和運行在它自己的我的select語句:
SELECT customer.c_id AS Customer_ID,
customer.c_uname AS CUSTOMER_UName,
ORDERS.o_id AS Order_ID,
ORDER_LINE.ol_i_id As Order_Item_ID,
ITEM.I_TITLE AS Item_Title
FROM customer INNER JOIN orders ON customer.C_ID=orders.O_C_ID
INNER JOIN order_line ON orders.o_id=order_line.ol_o_id
INNER JOIN item ON order_line.ol_i_id=item.i_id;
它以下列字段返回記錄沒有錯誤:
CUSTOMER_ID CUSTOMER_UNAME ORDER_ID ORDER_ITEM_ID ITEM_TITLE
----------- -------------------- ---------- ------------- ------------------------------------------------------------
我將不勝感激,如果有人能指導我什麼是對分配表語句將4個表錯了我創建一個表..
謝謝!
對於修正Tablespace子句感謝了很多!它正在工作。 :)我之所以創建關係表,是因爲我試圖獲得最小的非規格化表,以從4個表中選擇列...但是,我仍然無法獲得最小的非規格化表..任何建議?任何我錯過了或添加太多的東西? :/ –
@AmAnDanG - 我不確定我明白你的意思。非規格化總是會佔用額外的空間並且會成爲維護問題(除非你有MV)。如果你需要這些領域,那麼我不會看到它如何變小 - 不像你可以得到不同的價值。 –