`
ganqing1234
  • 浏览: 169109 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

PL/SQL 學習筆記 6 使用SQL

阅读更多

在pl/sql中只能使用sql的部分dml(data manipulation language)和事务控制语句。dml 如 select,delete、insert和update。事务控制语句如commit、rollback、savepoint。

 

1. sql的语法

    在pl/sql中dml的语法类似于sql里面的。需要强调的是where字段的字符串比较时,分为填充式比较和非填充式。填充式即为在比较之前会判断两字符串的长度,如果不一致会将小的那个用空格扩充。例如在填充式的比较中 'aaa'='aaa   '将返回true,而非填充式的怎为false('aaa'<'aaa   ')。pl/sql采用何种方式比较主要看比较双方的类型,只有当两个字符串都为固定长度时候才使用填充式的比较。在oracle里面char字符型和字符文字(用单引号括起来)是定长的,archarshuju类型是变长的。

 

2. 表的引用

    一般格式如下:

[schema.]table[@dblink]

3. 数据库的链接

CREATE DATABASE LINK link_name CONNECT TO username INDENTIFIED BY password USING sqlnet_string;

    这样使用前提是系统里安装了sql*net,其他的字段不用说了,只是sqlnet_string是需要连接数据库的名字(使用时有引号)。

 

4. 替代名(synonym)

    类似于创建别名了。语法如下:

CREATE SYNONYM synonym_name FOR reference;

    其中reference可以是一个表、过程、序列或者其他的数据库对象。一个实例如下:

CREATE SYNONYM backup_students FOR students@example_backup;

--使用synonym
UPDATE backup_students SET major='Music' WHERE id=1000;

  5. 对象和系统权限

      有两种类型的权限:对象权限(object)和系统权限(system)。对象权限允许对一个特定的对象(例如一个表)进行操作。系统权限允许对对象的整个类进行操作。

      分配权限使用grant,收回权限使用revoke,其中(alter、index、references)不能直接在pl/sql中使用(DBMS_SQL包除外)。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics