语句oracle


Oracle10G常用维护语句有哪些

1 创建表空间 CREATE TABLESPACE CPORTAL LOGGING DATAFILE ‘/dev/raw/raw1’ SIZE 30000M REUSE EXTENT MANAGEMENT LOCAL 2 创建用户 CREATE USER CPORTAL PROFILE DEFAULT IDENTIFIED BY CPORTAL DEFAULT TABLESPACE CPORTAL TEMPORARY TABLESPACE TEMP ACCOUNT UNLOCK; GRANT CONNECT TO CPORTAL; GRANT RESOURCE TO CPORTAL; 3 参数修改 ALTER SYSTEM SET sga_target 1000M SCOPESPFILE; ALTER SYSTEM SET pga_aggregate_target 200M SCOPESPFILE; ALTER SYSTEM SET OPEN_CURSORS500 SCOPESPFILE; ALTER SYSTEM SET processes200 SCOPESPFILE; ALTER SYSTEM SET remote_login_passwordfile NONE SCOPESPFILE; create pfile from spfile; Modify the other oracle parameter! ALTER DATABASE TEMPFILE ‘/opt/oracle/oradata/cportal/temp01。

dbf’ RESIZE 1024M; ALTER DATABASE DATAFILE ‘/opt/oracle/oradata/cportal/undotbs01。dbf’ RESIZE 1024M; ALTER DATABASE DATAFILE ‘/opt/oracle/oradata/cportal/undotbs01。

dbf’ AUTOEXTEND ON MAXSIZE 10240M 4 查看表空间名称和大小 select t。tablespace_name,round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t dba_data_files d where t。

tablespace_name d。tablespace_name group by t。

tablespace_name; 5 查看表空间的使用情况 select sum(bytes)/(1024*1024) as free_space,tablespace_name from dba_free_space group by tablespace_name; 6、查看表空间物理文件的名称及大小 select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name; 7、查看数据库库对象 select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status; 8、查看控制文件 select name from v$controlfile; 9、查看日志文件 select member from v$logfile; 10 。 结束用户会话 alter system kill session ‘SID,SERIAL#’; select sid,serial#,username,program,machine,status from v$session;。

Oracle循环语句的写法有哪些呢

如果您对Oracle循环语句方面感兴趣的话,不妨一看。

loop循环: 1。 create or replace procedure pro_test_loop is 2。

i number; 3。 begin 4。

i:=0; 5。 loop 6。

ii:=i+1; 7。 dbms_output。

put_line(i); 8。 if i》5 then 9。

exit; 10。 end if; 11。

end loop; 12。 end pro_test_loop; while循环: 1。

create or replace procedure pro_test_while is 2。 i number; 3。

begin 4。 i:=0; 5。

while i《5 loop 6。 ii:=i+1; 7。

dbms_output。 put_line(i); 8。

end loop; 9。 end pro_test_while; for循环1: 1。

create or replace procedure pro_test_for is 2。 i number; 3。

begin 4。 i:=0; 5。

for i in 1。

5 loop 6。 dbms_output。

put_line(i); 7。 end loop; 8。

end pro_test_for; for循环2: 1。 create or replace procedure pro_test_cursor is 2。

userRow t_user%rowtype; 3。 cursor userRows is 4。

select * from t_user; 5。 begin 6。

for userRow in userRows loop 7。 dbms_output。

put_line(userRow。Id||’,’||userRow。

Name||’,’||userRows%rowcount); 8。 end loop; 9。

end pro_test_cursor;。

oracle中常用的一些语句有哪些

1、Oracle中,每一条记录都有一个rowid,rowid在整个数据库中是唯一的, rowid确定了每条记录是在ORACLE中的哪一个数据文件、块、行上。

2、在重复的记录中,可能所有列的内容都相同,但rowid不会相同,所以只要确定出重复记录中 那些具有最大rowid的就可以了,其余全部删除。 实现方法: SQL> create table a ( 2 bm char (4), 编码 3 mc varchar2(20) 名称 4 ) 5 / 表已建立。

SQL> insert into a values(‘1111′,’1111’); SQL> insert into a values(‘1112′,’1111’); SQL> insert into a values(‘1113′,’1111’); SQL> insert into a values(‘1114′,’1111’); SQL> insert into a select * from a; 插入4个记录。 SQL> commit; 完全提交。

SQL> select rowid,bm,mc from a; ROWID BM MC 000000D5。0000。

0002 1111 1111 000000D5。 0001。

0002 1112 1111 000000D5。0002。

0002 1113 1111 000000D5。0003。

0002 1114 1111 000000D5。0004。

0002 1111 1111 000000D5。0005。

0002 1112 1111 000000D5。0006。

0002 1113 1111 000000D5。0007。

0002 1114 1111 查询到8记录。 查出重复记录 SQL> select rowid,bm,mc from a where a。

rowid!=(select max(rowid) from a b where a。bm=b。

bm and a。mc=b。

mc); ROWID BM MC 000000D5。 0000。

0002 1111 1111 000000D5。0001。

0002 1112 1111 000000D5。0002。

0002 1113 1111 000000D5。0003。

0002 1114 1111 删除重复记录 SQL> delete from a a where a。 rowid!=(select max(rowid) from a b where a。

bm=b。bm and a。

mc=b。mc); 删除4个记录。

SQL> select rowid,bm,mc from a; ROWID BM MC 000000D5。 0004。

0002 1111 1111 000000D5。0005。

0002 1112 1111 000000D5。0006。

0002 1113 1111 000000D5。0007。

0002 1114 1111。

Oracle的Sql语句必做哪些事

使用scott/tiger用户下的emp表和dept表完成下列练习,表的结构说明如下 emp员工表(empno员工号/ename员工姓名/job工作/mgr上级编号/hiredate受雇日期/sal薪金/comm佣金/deptno部门编号) dept部门表(deptno部门编号/dname部门名称/loc地点) 工资 = 薪金 + 佣金 1.列出至少有一个员工的所有部门 2.列出薪金比“SMITH”多的所有员工。

3.列出所有员工的姓名及其直接上级的姓名。 4.列出受雇日期晚于其直接上级的所有员工。

5.列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门。 6.列出所有“CLERK”(办事员)的姓名及其部门名称。

7.列出最低薪金大于1500的各种工作。 8.列出在部门“SALES”(销售部)工作的员工的姓名,假定不知道销售部的部门编号。

9.列出薪金高于公司平均薪金的所有员工。 10.列出与“SCOTT”从事相同工作的所有员工。

11.列出薪金等于部门30中员工的薪金的所有员工的姓名和薪金。 12.列出薪金高于在部门30工作的所有员工的薪金的员工姓名和薪金。

13.列出在每个部门工作的员工数量、平均工资和平均服务期限。 14.列出所有员工的姓名、部门名称和工资。

16.列出所有部门的详细信息和部门人数。 17.列出各种工作的最低工资。

18.列出MANAGER(经理)的最低薪金。 19.列出所有员工的年工资,按年薪从低到高排序。

Oracle导表语句有哪些

1,create table vincent_sms as select * from vincent_voice 创建一个表vincent_sms,其字段类型同vincent_voice完全一样,并会把vincent_voice中的记录也复制到vincent_sms表中去 注:select子句还可以加where限制条件 2, insert into vincent_sms select * from vincent_voice 将vincent_voice表中的记录导入vincent_sms 表中 注:select子句还可以加where限制条件,如果vincent_sms 和vincent_voice表结构不一样的话,当然可以指明字段的。

求oracle,基本语句

1、Oracle与SQL Server、mysql不同,一个服务器上装好几个数据库。Oracle一个数据库就可以支持很大的应用,而且每个数据库都有自己独立的内存结构和一组服务进程。你登录Oracle的话其实就是连接到了某个数据库对应的实例上,所以没有你想要的语句来查有几个数据库。不过你可以这样,运行dbca命令,然后选择删除数据库,你就可以看到系统当前安装了哪几个数据库。

2、查看当前用户的方案(schema)中有哪些表:

select table_name from user_tables;

查看当前数据库中有哪些表(需要dba权限,而且表的数量非常庞大):

select table_name from user_tables;

3、desc tablename;

oracle维护常用语句有哪些

1、查看表空间的名称及大小 select *pace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files d where *pace_name = *pace_name group by *pace_name; 2、查看表空间物理文件的名称及大小 select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name; 3、查看回滚段名称及大小 select segment_name, tablespace_name, *, (initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent, max_extents, * CurExtent From dba_rollback_segs r, v$rollstat v Where *t_id = *(+) order by segment_name ; 4、查看控制文件 select name from v$controlfile; 5、查看日志文件 select member from v$logfile; 6、查看表空间的使用情况 select sum(bytes)/(1024*1024) as free_space,tablespace_name from dba_free_space group by tablespace_name; SELECT *PACE_NAME,* TOTAL,* USED, * FREE, (**100)/* “% USED”,(**100)/* “% FREE” FROM *$TS_AVAIL A,*$TS_USED B,*$TS_FREE C WHERE *PACE_NAME=*PACE_NAME AND *PACE_NAME=*PACE_NAME; 7、查看数据库库对象 select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status; 8、查看数据库的版本 Select version FROM Product_component_version Where SUBSTR(PRODUCT,1,6)=’Oracle’; 9、查看数据库的创建日期和归档方式 Select Created, Log_Mode, Log_Mode From V$Database; 10、查看当前所有对象 SQL> select * from tab; 1 1、建一个和a表结构一样的空表 SQL> create table b as select * from a where 1=2; SQL> create table b(b1,b2,b3) as select a1,a2,a3 from a where 1=2; 1 2、察看数据库的大小,和空间使用情况 SQL> col tablespace format a20 SQL> select *_id 文件ID, *pace_name 表空间, *_name 物理文件名, * 总字节数, (*sum(nvl(*,0))) 已使用, sum(nvl(*,0)) 剩余, sum(nvl(*,0))/(*)*100 剩余百分比 from dba_free_space a,dba_data_files b where *_id=*_id group by *pace_name,*_name,*_id,* order by *pace_name / dba_free_space 表空间剩余空间状况 dba_data_files 数据文件空间占用情况 1 3、查看现有回滚段及其状态 SQL> col segment format a30 SQL> SELECT SEGMENT_NAME,OWNER,TABLESPACE_NAME,SEGMENT_ID,FILE_ID,STATUS FROM DBA_ROLLBACK_SEGS; 1 4、查看数据文件放置的路径 SQL> col file_name format a50 SQL> select tablespace_name,file_id,bytes/1024/1024,file_name from dba_data_files order by file_id; 1 5、显示当前连接用户 SQL> show user 1 6、把SQL*Plus当计算器 SQL> select 100*20 from dual; 1 7、连接字符串 SQL> select 列1||列2 from 表1; SQL> select concat(列1,列2) from 表1; 1 8、查询当前日期 SQL> select to_char(sysdate,’yyyymmdd,hh24:mi:ss’) from dual; 1 9、用户间复制数据 SQL> copy from user1 to user2 create table2 using select * from table1; 20、视图中不能使用order by,但可用group by代替来达到排序目的 SQL> create view a as select b1,b2 from b group by b1,b2; 2 1、通过授权的方式来创建用户 SQL> grant connect,resource to test identified by test; SQL> conn test/test。