ORACLE实验一-三

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
警告: 创建的触发器带有编译错误。

SQL> show error;
TRIGGER TRG_SCORE_AFT_ROW 出现错误:

LINE/COL ERROR
-------- -----------------------------------------------------------------
2/1 PL/SQL: SQL Statement ignored
2/13 PL/SQL: ORA-00942: 表或视图不存在

  "show error;"可以显示错误。


  创建新用户,并赋予创建表、视图的权限

SQL> create user wayne identified by wayne
2 / 用户已创建。 SQL> connect wayne/wayne
ERROR:
ORA-01045: user WAYNE lacks CREATE SESSION privilege; logon denied SQL> conn
请输入用户名: system
输入口令:
已连接。
SQL> grant connect, resource to wayne; 授权成功。 SQL> grant create session to wayne; 授权成功。 SQL> connect wayne/wayne
已连接。 SQL> connect sys / as sysdba;
输入口令:
已连接。
SQL> grant create any view to wayne; --创建视图的权限 授权成功。 SQL> connect wayne/wayne;
已连接。

实验一

SQL*Plus: Release 11.2.0.1.0 Production on 星期三 11月 16 15:38:24 2016
Copyright (c) 1982, 2010, Oracle.  All rights reserved. 请输入用户名:  system
输入口令:
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> connect / as sysdba
已连接。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 3373858816 bytes
Fixed Size                  2180424 bytes
Variable Size            1845496504 bytes
Database Buffers         1509949440 bytes
Redo Buffers               16232448 bytes
数据库装载完毕。
数据库已经打开。
SQL> conn sys / as sysdba
输入口令:
已连接。 SQL> CREATE TABLESPACE ORATESTTBS1 DATAFILE
  2  'C:\Oracle11g\oradata\oratest\ORATESTTBS1_1.DBF' SIZE 50M
  3  SEGMENT SPACE MANAGEMENT MANUAL;
表空间已创建。
SQL> CREATE USER user_test IDENTIFIED BY user_test
  2  DEFAULT TABLESPACE ORATESTTBS1 QUOTA 10M ON USERS
  3  ACCOUNT LOCK;
用户已创建。
SQL> ALTER USER user_test
  2  IDENTIFIED BY USERTEST ACCOUNT UNLOCK;
用户已更改。
SQL> SELECT OBJECT_NAME, OBJECT_TYPE FROM DBA_OBJECTS
  2  WHERE OWNER = 'DAMIR';
未选定行
SQL> DROP USER user_test CASCADE
  2  ;
用户已删除。
SQL>
 

实验二

SQL*Plus: Release 11.2.0.1.0 Production on 星期三 11月 16 19:55:07 2016

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

请输入用户名:  system
输入口令: 连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> connect / as sysdba
已连接。
SQL> desc DBA_TABLESPACES
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
TABLESPACE_NAME NOT NULL VARCHAR2(30)
BLOCK_SIZE NOT NULL NUMBER
INITIAL_EXTENT NUMBER
NEXT_EXTENT NUMBER
MIN_EXTENTS NOT NULL NUMBER
MAX_EXTENTS NUMBER
MAX_SIZE NUMBER
PCT_INCREASE NUMBER
MIN_EXTLEN NUMBER
STATUS VARCHAR2(9)
CONTENTS VARCHAR2(9)
LOGGING VARCHAR2(9)
FORCE_LOGGING VARCHAR2(3)
EXTENT_MANAGEMENT VARCHAR2(10)
ALLOCATION_TYPE VARCHAR2(9)
PLUGGED_IN VARCHAR2(3)
SEGMENT_SPACE_MANAGEMENT VARCHAR2(6)
DEF_TAB_COMPRESSION VARCHAR2(8)
RETENTION VARCHAR2(11)
BIGFILE VARCHAR2(3)
PREDICATE_EVALUATION VARCHAR2(7)
ENCRYPTED VARCHAR2(3)
COMPRESS_FOR VARCHAR2(12) SQL> SELECT DISTINCT owner
2 #desc dba_data_files
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
FILE_NAME VARCHAR2(513)
FILE_ID NUMBER
TABLESPACE_NAME VARCHAR2(30)
BYTES NUMBER
BLOCKS NUMBER
STATUS VARCHAR2(9)
RELATIVE_FNO NUMBER
AUTOEXTENSIBLE VARCHAR2(3)
MAXBYTES NUMBER
MAXBLOCKS NUMBER
INCREMENT_BY NUMBER
USER_BYTES NUMBER
USER_BLOCKS NUMBER
ONLINE_STATUS VARCHAR2(7) 2 from dba_objects
3 / OWNER
------------------------------
OWBSYS_AUDIT
MDSYS
PUBLIC
OUTLN
CTXSYS
OLAPSYS
FLOWS_FILES
OWBSYS
HR
SYSTEM
ORACLE_OCM OWNER
------------------------------
EXFSYS
APEX_030200
SCOTT
SH
PM
DBSNMP
ORDSYS
ORDPLUGINS
SYSMAN
OE
IX OWNER
------------------------------
APPQOSSYS
XDB
ORDDATA
BI
SYS
WMSYS
SI_INFORMTN_SCHEMA 已选择29行。 SQL> desc dba_data_files;
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 FILE_NAME                                          VARCHAR2(513)
 FILE_ID                                            NUMBER
 TABLESPACE_NAME                                    VARCHAR2(30)
 BYTES                                              NUMBER
 BLOCKS                                             NUMBER
 STATUS                                             VARCHAR2(9)
 RELATIVE_FNO                                       NUMBER
 AUTOEXTENSIBLE                                     VARCHAR2(3)
 MAXBYTES                                           NUMBER
 MAXBLOCKS                                          NUMBER
 INCREMENT_BY                                       NUMBER
 USER_BYTES                                         NUMBER
 USER_BLOCKS                                        NUMBER
 ONLINE_STATUS                                      VARCHAR2(7)

SQL> get 'C:\DISK1\test.txt'
  1  desc DBA_TABLESPACES;
  2* desc dba_data_files;
SQL> save 'C:\DISK1\sav'
已创建 file C:\DISK1\sav.sql
SQL> EDIT
已写入 file afiedt.buf


1  desc DBA_TABLESPACES;
  2* desc dba_data_files;

SQL> start 'C:\DISK1\sav.sql'
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 TABLESPACE_NAME                           NOT NULL VARCHAR2(30)
 BLOCK_SIZE                                NOT NULL NUMBER
 INITIAL_EXTENT                                     NUMBER
 NEXT_EXTENT                                        NUMBER
 MIN_EXTENTS                               NOT NULL NUMBER
 MAX_EXTENTS                                        NUMBER
 MAX_SIZE                                           NUMBER
 PCT_INCREASE                                       NUMBER
 MIN_EXTLEN                                         NUMBER
 STATUS                                             VARCHAR2(9)
 CONTENTS                                           VARCHAR2(9)
 LOGGING                                            VARCHAR2(9)
 FORCE_LOGGING                                      VARCHAR2(3)
 EXTENT_MANAGEMENT                                  VARCHAR2(10)
 ALLOCATION_TYPE                                    VARCHAR2(9)
 PLUGGED_IN                                         VARCHAR2(3)
 SEGMENT_SPACE_MANAGEMENT                           VARCHAR2(6)
 DEF_TAB_COMPRESSION                                VARCHAR2(8)
 RETENTION                                          VARCHAR2(11)
 BIGFILE                                            VARCHAR2(3)
 PREDICATE_EVALUATION                               VARCHAR2(7)
 ENCRYPTED                                          VARCHAR2(3)
 COMPRESS_FOR                                       VARCHAR2(12)


名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 FILE_NAME                                          VARCHAR2(513)
 FILE_ID                                            NUMBER
 TABLESPACE_NAME                                    VARCHAR2(30)
 BYTES                                              NUMBER
 BLOCKS                                             NUMBER
 STATUS                                             VARCHAR2(9)
 RELATIVE_FNO                                       NUMBER
 AUTOEXTENSIBLE                                     VARCHAR2(3)
 MAXBYTES                                           NUMBER
 MAXBLOCKS                                          NUMBER
 INCREMENT_BY                                       NUMBER
 USER_BYTES                                         NUMBER
 USER_BLOCKS                                        NUMBER
 ONLINE_STATUS                                      VARCHAR2(7)


desc DBA_TABLESPACES;
*
第 1 行出现错误:
ORA-00900: 无效 SQL 语句

SQL> SPOOL
当前未假脱机
SQL> SPOOL 'C:\DISK1\result.lst'
SQL> SPOOL
当前正假脱机至 C:\DISK1\result.lst
SQL> SPOOL OFF


SQL> CONNECT
请输入用户名:  system
输入口令:
已连接。
SQL> DISCONNECT
从 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options 断开

 

实验三

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

请输入用户名:  system
输入口令: 连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> connect / as sysdba
已连接。
SQL> create table t_student(
2 Sno Varchar2(10) NOT NULL,
3 Sname Varchar(10) NOT NULL,
4 ssex Number(1),
5 sbirthday date); 表已创建。 SQL> create table t_score(
2 Sno Varchar2(10) NOT NULL,
3 Sub_no Varchar2(10) NOT NULL,
4 score Number); 表已创建。 SQL>

SQL*Plus: Release 11.2.0.1.0 Production on 星期三 11月 16 20:44:50 2016


Copyright (c) 1982, 2010, Oracle.  All rights reserved.


请输入用户名:  system
输入口令:


连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


SQL> connect / as sysdba
已连接。
SQL> create table t_student(
  2  Sno Varchar2(10) NOT NULL,
  3  Sname Varchar(10) NOT NULL,
  4  ssex Number(1),
  5  sbirthday date);


表已创建。


SQL> create table t_score(
  2  Sno Varchar2(10) NOT NULL,
  3  Sub_no Varchar2(10) NOT NULL,
  4  score Number);


表已创建。

SQL> insert into t_student values(20100001,'刘浩',1,'12-10月-1991');


已创建 1 行。


SQL> insert into t_student values(20100002,'张杰',1,TO_DATE('1992-01-03','YYYY-MM-DD'));


已创建 1 行。


SQL> insert into t_student values(20100003,'李娟',0,TO_DATE('1992-06-14','YYYY-MM-DD'));


已创建 1 行。


SQL> insert into t_student(Sno,Sname,ssex) values(20110001,'王强',1);


已创建 1 行。


SQL> insert into t_student(Sno,Sname,sbirthday) values(20110002,'马力',TO_DATE('1991-02-21','YYYY-MM-DD'));


已创建 1 行。


SQL> insert into t_score values(20100001,001,90);


已创建 1 行。

SQL> insert into t_score values(20100002,001,87);


已创建 1 行。


SQL> insert into t_score values(20100003,001,88)
  2  /


已创建 1 行。


SQL> insert into t_score values(20100001,002,84);


已创建 1 行。


SQL> insert into t_score values(20100003,002,85);


已创建 1 行。


SQL> insert into t_score(sno,Sub_no) values(20110001,002);


已创建 1 行。


SQL> insert into t_score(sno,Sub_no) values(20110002,002);


已创建 1 行。


SQL> delete from t_student where sno=20100001;


已删除 1 行。


SQL> update t_score
  2  set score = 95
  3  where sno = 20100001 and Sub_no = 002
  4  /


已更新 1 行。



SQL> select sname as 姓名 from t_student;


姓名
----------
张杰
李娟
王强
马力




SQL> select floor(MONTHS_BETWEEN(sysdate,sbirthday)/12) as 年龄 from t_student;


年龄
----------
        24
        24


25


SQL> select sname as 姓名,
  2  floor(months_between(sysdate,sbirthday)/12) as 年龄
  3  from t_student;


姓名             年龄
---------- ----------
张杰               24
李娟               24
王强
马力               25

SQL> select *
  2  from t_student
  3  where sbirthday = (select min(sbirthday) from t_student);


SNO        SNAME            SSEX SBIRTHDAY
---------- ---------- ---------- --------------
20110002   马力                  21-2月 -91


SQL> select concat(sno,sname) from t_student;


CONCAT(SNO,SNAME)
--------------------
20100002张杰
20100003李娟
20110001王强
20110002马力

SQL> select substr(sno,0,4) as 入学年份 from t_student
  2  /


入学年份
--------
2010
2010
2011
2011





SQL> select TO_CHAR(last_day(sysdate),'YYYY-MM-DD') as 本月最后一天 from dual;


本月最后一
----------
2016-11-30

SQL> select sname,
  2  TO_CHAR(sbirthday,'YYYY-MM-DD')
  3  from t_student;


SNAME      TO_CHAR(SB
---------- ----------
张杰       1992-01-03
李娟       1992-06-14
王强
马力       1991-02-21

SQL> select sname,Sub_no,score
  2  from t_student,t_score
  3  where t_student.sno = t_score.sno and Sub_no=001
  4  order by score desc;


SNAME      SUB_NO          SCORE
---------- ---------- ----------
李娟       1                  88
张杰       1                  87


SQL> select sno,sname
  2  from t_student
  3  where sno in(
  4  select sno
  5  from t_score
  6  group by sno
  7  having count(*) > 1);


SNO        SNAME
---------- ----------
20100003   李娟


SQL>


打开SQL Plus的时候报了如下的错

ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does notexist

解决方法是,在cmd(Windows)中

sqlplus/nolog
connect / as sysdba
startup force

用到pl/sql时,第一为了能输出,要设置参数

set serveroutput on

第二:为了能用到缓冲区,要用管理员身份打开 "SQL Plus"。当输入错误时,在程序块结束时,输入"edit;",可以在缓冲区修改代码;修改后保存,在命令行输入"/"就可以执行了

第三:要从键盘输入

 v_no := &str;
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: oracle

“ORACLE实验一-三” 的相关文章

关于oracle预言机1年前 (2023-03-30)
Linux下的Oracle安装1年前 (2023-03-31)
oracle临时表1年前 (2023-04-05)
Oracle1年前 (2023-04-14)
Oracle表空间和数据文件1年前 (2023-04-14)