1. 程式人生 > >oracle 表名 雙引號 刪除

oracle 表名 雙引號 刪除

oracle10g中,建表的時候沒注意,用別人發給我的sql直接建立的,建立之後發現 select  *  from 表名 ;提示表或檢視不存在
後來仔細檢視發現是在create的時候,表名和欄位名都被加上了雙引號,那建錯了就重建吧,發現刪除又刪除不了,上網查了下,用這種方法成功刪除了,記錄下來:
最近在用Powerdesigner生成oracle資料庫sql語句時,發現表和欄位名中都帶有引號。例如: create table "authorISBN"  (
   "authorID"           INTEGER        not null,
   "tit_isbn"           VARCHAR2(20),
   "aut_authorID"       INTEGER,
   "isbn"               VARCHAR2(20),
   constraint PK_AUTHORISBN primary key ("authorID")
);     如果這樣生成表的話,那麼你查詢或者插入資料都會顯示table or view does not exist(表或檢視不存在),然後讓你鬱悶的事情來了,這些表中oracle資料庫中是存在的(我是建立在scott使用者中的),但是你去刪除這些表 (drop table 表名,或者drop table "表名")都是無法刪除的,經過自己查詢資料和研究發現,說明scott使用者的許可權不夠。解決的方法是:你先連線到system使用者下,使用命 令 grant select any table to scott;(這句命令的意思是,授權給scott使用者選擇任何的表),這樣你在連線到scott使用者下,發現可以查詢出這張表(select * from "表名") 但是表名上要加引號。刪除這張表(drop table "表名") 表名上同樣要加引號。     那麼為什麼用PowerDesigner生成的oracle資料庫sql語句的表名和欄位名上會出現引號呢? 因為,Oracle建立表的一條規則為:

在命名錶的時候可以使用大寫或小寫字母。只要表名或欄位名沒有用雙引號括住,Oracle 對大小寫就不敏感。Oracle 支援使用雙引號的語法。但是,最好不要直接使用雙引號。    那麼怎麼讓這些引號不出現呢? 在PowerDesiger中,在physical data model 中找到選單中的Database下的Edit current DBMS中, 選擇Script->Sql->Format,有一項CaseSensitivityUsingQuote,它的comment為 “Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否適用雙引號來規定識別符號的大小寫,可以看到右邊的values預設值為“YES”,改為“No”,點選【應用】按鈕。    這樣再生成sql語句時,表和欄位名上是沒有引號了。
轉自:http://hi.baidu.com/chenkuntian/blog/item/e380b4cca2452b5df31fe740.html

相關推薦

oracle 引號 刪除

oracle10g中,建表的時候沒注意,用別人發給我的sql直接建立的,建立之後發現 select  *  from 表名 ;提示表或檢視不存在後來仔細檢視發現是在create的時候,表名和欄位名都被加上了雙引號,那建錯了就重建吧,發現刪除又刪除不了,上網查了下,用這種方法

PowerDesigner生成Oracle帶有引號的解決方法

PowerDesigner生成表名帶有引號,如下: /*==============================================================*/ /* Table: "EPPD_B_BILL_INTERCALATE"         

oracle不打引號查不到原因

1、oracle表和欄位是有大小寫的區別。oracle預設是大寫,如果我們用雙引號括起來的就區分大小寫,如果沒有,系統會自動轉成大寫。2、我們在使用navicat使用視覺化建立資料庫時候,navicat自動給我們加上了“”。這樣我們在建立資料庫時實際的程式碼是這樣的:(通過到

oracle 欄位等物件的命名長度限制

                原創作品,出自 “深藍的blog” 部落格,歡迎轉載,轉載時請務必註明出處,否則追究版權法律責任。今天在為某系統資料庫結構整理升級指令碼時,遇到了“命名位元組過長的錯誤”,類似於下面的截圖語句:        由於升級的結構中對於欄位名的命名根據業務進行了修改,出現了命名過長的

oracle、欄位等物件的命名長度限制

原創作品,出自 “深藍的blog” 部落格,歡迎轉載,轉載時請務必註明出處,否則追究版權法律責任。 今天在為某系統資料庫結構整理升級指令碼時,遇到了“命名位元組過長的錯誤”,類似於下面的截圖語句:         由於升級的結構中對於欄位名的命名根據業務進行了修改,出現

powerdesigner15 生成sql 引號的解決辦法

powerdesigner15 連線 oracle11g 時,我建立了一張表 aaa 生成的sql語句為: drop table “aaa” cascade constraints; create table “aaa” ( “id”

Oracle:、欄位、constraint的長度有限制

說明:複製表(只複製結構,源表名:a 新表名:b)     SQL: select * into b from a where 1<>1 feedom.net   說明:拷貝表(拷貝資料,源表名:a 目標表名:b)   中國網管聯盟www_bitscn_com   SQL: insert

oracle ,欄位變為大寫

注:以下指令碼在oracle 10g,11g上正確執行 批量將表名變為大寫 begin    for c in (select table_name tn from user_tables where table_name <> upper(table_name)

關於oracle sql語句查詢時 和字段要加引號的問題具體解釋

ont tin rac 作者 什麽 因此 tro 們的 reg 作為oracle的剛開始學習的人相信大家一定會遇到這個問題。如圖: 明明就是navicat可視化創建了表,但是就是不能查到!這個

Oracle小寫且加引號的注意事項

SQL> CREATE TABLE "test" ("ID" int, "name" NVARCHAR2(2000)); 表已建立。 SQL> drop table test; drop

mybatis oracle下不同空間重複與批量刪除,新增

mybatis自動生成中會遇到oracle不同表空間中有相同的表明,錯誤提示讓你選擇指定表空間 需要在生成的xml中新增指定的表空間使用者名稱就可以了 <!--   tableName="你要生成的資料庫表名" --><table schema="c##t

Oracle數據中輸入引號等特殊字符

特殊 字符 date 需要 數據 mar sql clas class Oracle輸入特殊字符的特殊方法: UPDATE BOOKMARK SET BM_VALUE=q‘/ --在這裏寫下需要輸入的內容(可以包括引號、回車等特殊的符號),所見即所得 /‘ --

mysql等大小寫敏感問題、字段類型timestamp、批量修改oracle查詢歷史操作記錄等

table 時間 lar 內容 sele values 當前日期 load 兩個 mysql表名等大小寫敏感問題:http://blog.csdn.net/postnull/article/details/72455768; 1 MySQL在Linux下數據庫名、表名、

Oracle根據查詢過程

mage blog 輸入 根據 style oracl name Owner tinc 一、根據sql查詢 SELECT NAME, TYPE, REFERENCED_OWNER, REFERENCED_NAME, REFERENCED_TYPE FROM USER_

Oracle 獲取和某個的所有列名

from select round gpo col class log nbsp key 獲取某用戶下所有的表名: select table_name from user_tables order by table_name; 獲取某用戶下某個表的所有列名 where

Mysql DBA 高級運維學習筆記-增刪表字段更改刪除實戰

inno varchar 添加 語句 alter dup mysq def 運維 9.12 增刪改表字段 9.12.1 命令語法及默認添加用演示 1.命令語法: alter table 表名 add 字段 類型 其他 2.測試表數據 mysql> show creat

oracle 中如何查詢當前用戶可以看到的對應的所有字段

tables .com pre column inner bsp nts .data code 前言:利用 oracle 的視圖來查詢表的相關信息。 oracle 查詢當前用戶下的表名 + 表註釋 select t.table_name tableName, f.co

2.2 在單鏈刪除倒數第K個節點

刪除 函數 del 另一個 核心 鏈表 刪除倒數第k個 單鏈表 dex 題目:分別實現兩個函數,一個可以刪除單鏈表中倒數第K個節點,另一個可以刪除雙鏈表中倒數第K個節點 要求:如果鏈表長度為N,時間復雜度達到O(N),額外空間復雜度達到O(1) My: 刪除單鏈表或雙鏈表中

MySQL、SQL server 、Oracle資料庫中查詢所有的資料庫,查詢指定資料庫所有,查詢所有的欄位的名字

MySQL中查詢所有資料庫名和表名 1.查詢所有資料庫 show databases; 2.查詢指定資料庫中所有表名 select table_name from information_schema.tables where table_schema='database_name' a

python指令碼直接匯出oracle table到csv(./oracletest.py

#!/usr/bin/env python ##saveas oracletest.py ##chmod 755 oracletest.py ##./oracletest.py ab01_ import sys import