📄 script_64_没使用shangpin表.txt
字号:
--在以后的练习中,我们经常要用到以下两个表,所以先讲解一下这两个表的结构及含意
名称 产品库存表 :plsql101_product用于存放产品信息
---------------------------------------------------------------
PRODUCT_NAME 产品名称
PRODUCT_PRICE 产品单价
QUANTITY_ON_HAND 库存数
LAST_STOCK_DATE 最后进货日期
CREATE TABLE plsql101_product (
product_name VARCHAR2(25),
product_price NUMBER(4,2),
quantity_on_hand NUMBER(5,0),
last_stock_date DATE
)
;
---------------------------------------------------------------
名称 采购信息表plsql101_purchase
--------------------------------------------------
PRODUCT_NAME 商品名称
SALESPERSON 经手人(编号)
PURCHASE_DATE 采购日期
QUANTITY 采购数量
CREATE TABLE plsql101_purchase (
product_name VARCHAR2(25),
salesperson VARCHAR2(3),
purchase_date DATE,
quantity NUMBER(4,2)
)
;
--------------------------------------------------
---------- data_insert.txt ----------
/*
* 范例名称:为以后测试INSERT DATA
* 文件名称:data_insert.txt
*/
DROP TABLE plsql101_product;
CREATE TABLE plsql101_product (
product_name VARCHAR2(25),
product_price NUMBER(4,2),
quantity_on_hand NUMBER(5,0),
last_stock_date DATE
)
;
INSERT INTO plsql101_product VALUES
('Small Widget', 99, 1, '15-1月-03');
INSERT INTO plsql101_product VALUES
('Medium Wodget', 75, 1000, '15-1月-02');
INSERT INTO plsql101_product VALUES
('Chrome Phoobar', 50, 100, '15-1月-03');
INSERT INTO plsql101_product VALUES
('Round Chrome Snaphoo', 25, 10000, null);
INSERT INTO plsql101_product VALUES
('Extra Huge Mega Phoobar +',9.95,1234,'15-1月-04');
DROP TABLE plsql101_purchase;
CREATE TABLE plsql101_purchase (
product_name VARCHAR2(25),
salesperson VARCHAR2(3),
purchase_date DATE,
quantity NUMBER(4,2)
)
;
INSERT INTO plsql101_purchase VALUES
('Small Widget', 'CA', '14-7月-03', 1);
INSERT INTO plsql101_purchase VALUES
('Medium Wodget', 'BB', '14-7月-03', 75);
INSERT INTO plsql101_purchase VALUES
('Chrome Phoobar', 'GA', '14-7月-03', 2);
INSERT INTO plsql101_purchase VALUES
('Small Widget', 'GA', '15-7月-03', 8);
INSERT INTO plsql101_purchase VALUES
('Medium Wodget', 'LB', '15-7月-03', 20);
INSERT INTO plsql101_purchase VALUES
('Round Snaphoo', 'CA', '16-7月-03', 5);
----------------------------------------------------------
---------- sm_sqlplus_edit.txt ----------
/*
* 范例名称:使用文本编辑器
* 文件名称:sm_sqlplus_edit.txt
*/
select * from su_emp
--ERROR 位于第 1 行:
--ORA-00942: 表或视图不存在
edit
--在窗口中更改语句,之后存盘,退出,在sqlplus中用 / 强制执行编辑过的语句。
/
--在SQL*PLUS中设定文本编辑器中用于编辑sql文
--以scott/tiger登录
connect
scott/tiger
--设定sqlplus的edit(ed)编辑器
define _editor=edit
--换为dos edit,测试
define _editor=notepad
--输入select语句
select sysdate from dual;
ed
--可以在编辑器中编辑刚输入的sql语句,保存,退出。
--save as可以在编辑器中将sql文保存到其他目录
/
--执行编辑器中编辑的select语句。
---------- sqlplus_edit.txt ----------
/*
* 范例名称:edit,语句使用文本编辑器
* 文件名称:sqlplus_edit.txt
*/
-- Note: 必须在datainsert.txt中的sql执行之后
SELECT product_nmae
FROM plsql101_produtc
WHERE quantity_on_hand >= 100
AND
last_stock_date IS NOT NULL
ORDER BY product_name;
--ERROR 位于第 2 行:
--ORA-00942: 表或视图不存在
edit
--修改,保存,退出。在sqlplus中
/
--执行
---------- sm_script.txt -------------------------------------
/*
* 范例名称:SQL脚本文件
* 文件名称:sm_script.txt
*/
EDIT d:\sm_emp.sql
-- 以下sql文加入sm_emp.sql
select * from sm_emp;
--
--执行脚本
@d:\sm_emp.sql
--将文件data_insert.txt中的sql语句建立一个脚本datainsert.sql
--并执行。
---------- plsql101_script.txt ----------
/*
* 范例名称:SQL脚本文件
* 文件名称:plsql101_script.txt
*/
EDIT d:\plsql101_test.sql
-- Insert the following commands into the script file
CREATE TABLE temp (
first_name VARCHAR2(15),
last_name VARCHAR2(25)
)
;
INSERT INTO temp VALUES ('刘', '备');
INSERT INTO temp VALUES ('关', '羽');
SELECT * FROM temp;
DROP TABLE temp;
--
@d:\plsql101_test
---------- sm_script_var1.txt ----------
/*
* 范例名称:SQL脚本文件--使用变量
* 文件名称:sm_script_var1.txt
*/
EDIT d:\sm_emp_var1.sql
-- 以下sql文加入sm_emp_var1.sql
select * from sm_emp
where salary = &salary;
--
--执行脚本
@d:\sm_emp_var1.sql
---------- sm_script_var1_verify.txt ----------
/*
* 范例名称:SQL脚本文件:SET VERIFY OFF使sqlplus不再显示旧值是什么,新值是什么
* 文件名称:sm_script_var1_verify.txt
*/
EDIT d:\sm_emp_var1.sql
-- 以下sql文加入sm_emp_var1.sql
SET VERIFY OFF
select * from sm_emp
where salary = &salary;
SET VERIFY ON
--
--执行脚本
@d:\sm_emp_var1.sql
---------- plsql101_script_var1.txt ----------
/*
* 范例名称:SQL脚本文件
* 文件名称:plsql101_script_var1.txt
*/
edit d:\plsql101_test2.sql
/* Insert the following commands into the script file
SET VERIFY OFF
SELECT product_name, quantity, purchase_date
FROM plsql101_purchase
WHERE quantity >= &min_quantity_sold
;
SET VERIFY ON
*/
@d:\plsql101_test2
---------- plsql101_script_varDate.txt ----------
/*
* 范例名称:SQL脚本文件
* 文件名称:plsql101_script_varDate.txt
*/
edit d:\plsql101_test3.sql
/* Insert the following commands into the script file
SET VERIFY OFF
SELECT product_name, quantity, purchase_date
FROM plsql101_purchase
WHERE purchase_date = '&date_you_want_to_select'
;
SET VERIFY ON
*/
@d:\plsql101_test3
---------- plsql101_script_accept.txt ----------
/*
* 范例名称:SQL脚本文件
* 文件名称:plsql101_script_accept.txt
*/
edit d:\plsql101_test4.sql
/* Insert the following commands into the script file
SET VERIFY OFF
SET ECHO OFF
ACCEPT v_earliest_date PROMPT '最早日期? (dd-mm月-yy): '
ACCEPT v_latest_date PROMPT '最晚日期? (dd-mm月-yy): '
SELECT product_name, quantity, purchase_date
FROM plsql101_purchase
WHERE purchase_date BETWEEN '&v_earliest_date' AND '&v_latest_date'
ORDER BY product_name, quantity
;
SET VERIFY ON
SET ECHO ON
*/
@d:\plsql101_test4
---------- sm_script_2.txt ----------
/*
* 范例名称:SQL脚本文件
* 文件名称:sm_script_2.txt
*/
edit d:\plsql101_test5.sql
/* Insert the following commands into the script file
SET ECHO OFF
SET VERIFY OFF
@d:\sm_emp_var1
@d:\plsql101_test3
@d:\plsql101_test4
*/
@d:\plsql101_test5
---------- sysdate.txt ----------
/*
* 范例名称:系统变量函数
* 文件名称:sysdate.txt
*/
select sysdate from dual;
--change server time
select sysdate from dual;
--change client time
select sysdate from dual;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -