‘壹’ oracle plsql 如何优化sql
加索引,加分区,走索引,走分区
‘贰’ ORACLE PLSQL问题
SCOTT 是Oracle 公司的一个元老名字,后来为了纪念他的成绩,就会在默认的用户名是SCOTT,密码应该是tiger,tiger是Scott养的一只猫的名字。
myorc是你的数据库名称。
应该是可以建表和用户的。如果不行的话,你就用system/密码@myorc 登录。
‘叁’ 如何使用plsql备份oracle
Oracle中对数据对象和数据的管理,无疑都是使用PL/SQL Developer来进行管理,该工具也提供给我们很多方便、快捷的操作,使得我们不再为Oracle本身丑陋、难用的UI而抱怨。由于我们一般都是建建表、查查数据的操作居多,较少会考虑系统的整个Oracle的完整备份操作。但是在我们一些发布操作中,我们必须考虑如何把Oracle的对象、表数据导出到Sql脚本中,并且把创建Oracle表空间、创建Oracle数据库的操作也放到脚本中,这样我们就方便快速还原或者部署Oracle数据库到新的机器上了。 1、 使用PL/SQL Developer登录你需要备份的数据库; 2 选择工具->导出用户对象; 3 在对象列表中选择需要备份的对象,再选择一个sql类型的输出文件,点击【导出】,这只是导出数据结构; 4 选择工具->导出表; 5 在列表中选择需要导出数据的表,再选择【SQL插入】,选择一个sql类型的文件,点击【导出】,这一步是把数据导出数据库。 6 这样就得到两个sql,分别是备份数据结构和备份数据的。 注意事项 这种方法可以部分备份数据库,选择需要备份的表,存储过程等。
‘肆’ 怎么在oracle中配置plsql developer
你要先弄清楚你安装的oracle是什么版本的, 你的电脑系统是什么位数的。
然后去网络一下就知道怎么配置了, 不难的。 网上很多方法。
‘伍’ Oracle中使用PL/SQL怎样用循环插入多条数据
使用loop循环,比如:
for item in (select a,b,c from table_a where 条件) loop
insert into table_b(a,b,c) values (item.a,item.b,item.c);
end loop;
也可以使用索引表循环,以上只是一个简单的例子,需要根据你的具体情况选择循环方式。
‘陆’ Oracle数据库教程之利用plsqldev进行数据库操作的步骤
方法/步骤
1、打开PLSQL
Developer,输入用户名和口令,进行连接,如下图所示:
2、依次点击“文件(F)”->“新建(N)”->“SQL窗口(S)”,如下图所示:
3、在窗口中输入以下SQL语句:
--1、创建一个表
T_USER
create
table
T_USER
(
USERID
varchar2(50)
default
SYS_GUID()
not
null
primary
key,
USERNAME
varchar2(20)
not
null,
USERPWD
varchar2(30)
not
null
);
如下图所示:
4、向表中插入2条数据,语句如下:
--插入2条数据
insert
into
T_USER(USERNAME,USERPWD)
values('admin','admin');
insert
into
T_USER(USERNAME,USERPWD)
values('test','test');
select
*
from
T_USER;
如下图所示:
5、更新表中的记录,语句如下:
--更新一条数据
update
T_USER
set
USERPWD='admin123'
where
USERNAME='admin';
select
*
from
T_USER;
如下图所示:
6、删除表中的一条记录,语句如下:
--删除一条数据
delete
from
T_USER
where
USERNAME='test';
select
*
from
T_USER;
如下图所示:
7、销毁刚创建的表,语句如下:
--删除表
drop
table
T_USER;
select
*
from
T_USER;
可以看到左侧的Tables目录下表已经不存在了,此外查询表会报错,说明表确实已经销毁不存在了,如下图所示:
以上就是专题栏小编带来的pl/sql
developer教程,更多教程请看“http://www.zhuantilan.com/zt/sqldeveloper/”
‘柒’ Oracle 11g的PLSQL部分
·结果集缓存(Result Set Caching)
这一特性能大大提高很多程序的性能。在一些MIS系统或者OLAP系统中,需要使用到很多select count(*)这样的查询。在之前,我们如果要提高这样的查询的性能,可能需要使用物化视图或者查询重写的技术。在11g,我们就只需要加一个 /*+result_cache*/的提示就可以将结果集缓存住,这样就能大大提高查询性能。当然,在这种情况下,我们可能还要关心另外一个问题:完整性。因为在oracle中是通过一致性读来保证数据的完整性的。而显然,在这种新特性下,为提高性能,是从缓存中的结果集中读取数据,而不会从回滚段中读取数据的。关于这个问题,答案是完全能保证完整性。因为结果集是被独立缓存的,在查询期间,任何其他DML语句都不会影响结果集中的内容,因而可以保证数据的完整性。
·对象依赖性改进
在11g之前,如果有函数或者视图依赖于某张表,一旦这张表发生结构变化,无论是否涉及到函数或视图所依赖的属性,都会使函数或视图变为invalid。在11g中,对这种情况进行了调整:如果表改变的属性与相关的函数或视图无关,则相关对象状态不会发生变化。
·正则表达式的改进
在10g中,引入了正则表达式。这一特性大大方便了开发人员。11g,oracle再次对这一特性进行了改进。其中,增加了一个名为regexp_count的函数。另外,其他的正则表达式函数也得到了改进。
·新SQL语法 =>
我们在调用某一函数时,可以通过=>来为特定的函数参数指定数据。而在11g中,这一语法也同样可以出现在sql语句中了。例如,你可以写这样的语句:
select f(x=>6) from al;
·对TCP包(utl_tcp、utl_smtp…)支持FGAC(Fine Grained Access Control)安全控制
·增加了只读表(read-only table)
在以前,我们是通过触发器或者约束来实现对表的只读控制。11g中不需要这么麻烦了,可以直接指定表为只读表。
·触发器执行效率提高了
·内部单元内联(Intra-Unit inlining)
在C语言中,你可以通过内联函数(inline)或者宏实现使某些小的、被频繁调用的函数内联,编译后,调用内联函数的部分会编译成内联函数的函数体,因而提高函数效率。在11g的plsql中,也同样可以实现这样的内联函数了。
·设置触发器顺序
可能在一张表上存在多个触发器。在11g中,你可以指定它们的触发顺序,而不必担心顺序混乱导致数据混乱。
·混合触发器(compound trigger)
这是11g中新出现的一种触发器。她可以让你在同一触发器中同时具有申明部分、before过程部分、after each row过程部分和after过程部分。
·创建无效触发器(Disabled Trigger)
11g中,开发人员可以可以闲创建一个invalid触发器,需要时再编译她。
·在非DML语句中使用序列(sequence)
在之前版本,如果要将sequence的值赋给变量,需要通过类似以下语句实现:
select seq_x.next_val into v_x from al;
在11g中,不需要这么麻烦了,下面语句就可以实现:
v_x := seq_x.next_val;
·PLSQL_Warning
11g中。可以通过设置PLSQL_Warning=enable all,如果在when others没有错误爆出就发警告信息。
·PLSQL的可继承性
可以在oracle对象类型中通过super(和java中类似)关键字来实现继承性。
·编译速度提高
因为不再使用外部C编译器了,因此编译速度提高了。
·改进了DBMS_SQL包
其中的改进之一就是DBMS_SQL可以接收大于32k的CLOB了。另外还能支持用户自定义类型和bulk操作。
·增加了continue关键字
在PLSQL的循环语句中可以使用continue关键字了(功能和其他高级语言中的continue关键字相同)。
·新的PLSQL数据类型——simple_integer
这是一个比pls_integer效率更高的整数数据类型。