SQL注意細點!

2021-07-11 16:48:57 字數 1303 閱讀 7038

1.

commit;    //開啟oracle乙個sql視窗進行了dml(ddl未驗證)操作後,必須在本視窗commit;否則在新開啟的sql視窗中select不到資訊。

2.

表中存入的亂碼數據,在更正字符集後,依然是亂碼,即使update亂碼資料,再次select依舊是亂碼,實質是字符集不匹配更改不了

3.

rollback;需要在commit;之前回滾。

4.

待解決的問題:

ora-38104:在on子句中引用的列不能更新

5.

oracle資料庫中的 between and  相當於數學中的 [ ]  . 其他資料庫不一定是。

6.

aliases 中as後面的字串不能加單引號 ' 字串 ' 。例如: select vip_name as 姓名 from vip

7.

8)此段摘自網路

授權命令 grant,語法格式(sql語句不區分大小寫):

grant  《許可權》  on  表名[(列名)]  to  使用者 with  grant  option

或 grant 《許可權》 on 《資料物件》 from 《資料庫使用者》  

//資料物件可以是表名或列名

//許可權表示對錶的操作,如select,update,insert,delete

注:授權命令是由資料庫管理員使用的,若給使用者分配許可權時帶with  grant  option子句,

則普通使用者獲權後,可把自己的許可權授予其他使用者。

2)**許可權 revoke

revoke 《許可權》 on 《資料物件》  from 《資料庫使用者名稱》

9.

create table 時:  ora-00904識別符號失效:

很可能是最後一條sql語句新增了分號,刪除分號重新create table即可。

一些離線賽的小細點。

由於睿智錯誤過多,因此在這裡梳理一下。大概爆過2 3次。可以在每次打 的板子裡面,直接加個這樣一段 define cm cerr s2 s1 這類錯誤也犯過不只2次了。可以在檢查的時候,使用ctrl shift f,把scanf,printf,cout,cerr這些語句直接找出來,乙個個看過去。在檢...

Sql語句優化注意

1.盡量不要對列名進行函式處理,而是針對後面的值進行處理 例如 where col1 5的效率比where col1 5的效率要高。因為後面的條件對列值進行了計算。這樣的條件下優化器無法使用索引,而是要針對所有值進行計算之後才能再比較 2.盡量使用和資料列一樣的值進行操作 如果col1是數值型,那麼...

SQL 注意事項

選擇表名 配置ctrl 3 能夠select 桌 use nb go 物 storedprocedure dbo sp select 指令碼日期 05 28 2015 21 46 25 set ansi nulls on go set quoted identifier on go create p...