ORACLE之SQL基础SQLPLUS基础

合集下载

oracle11g的基本SQL语句和函数

oracle11g的基本SQL语句和函数

GROUP BY
首先创建表
create table 成绩(sno number, km varchar2(13), score number); Insert into 成绩 values(1,‟语文’,60); Insert into 成绩 values(1,‟数学’,60); Insert into 成绩 values(1,‟英语’,60); Insert into 成绩 values(2,‟语文’,70); Insert into 成绩 values(2,‟数学’,70); Insert into 成绩 values(3,‟英语’,89); commit;
插入空值
Insert into student values(3,null, to_date(„19980311‟,‟yyyy-MMdd‟)); hh mm ss
insert into student(sno,birthday) values( 4,to_date('19880601','yyyy-MM-dd'));
月、日,小时、分钟、秒 数值数据类型的声明语法: 主要的日期时间类型有:
NUMBER [( p[, s])] DATE - 存储日期和时间部分,精确到整个的秒 P表示精度,S表示小数点的位数 TIMESTAMP - 存储日期、时间和时区信息,秒值精 确到小数点后6位 Select sysdate from dual; Select to_char(sysdate,‟yyyymmdd hh24:mi:ss‟) from dual; Select to_char(sysytimestamp,‟yyyymmdd hh24:mi:ssxff6‟) from dual;

Oracle数据库基本知识

Oracle数据库基本知识

Oracle数据库基本知识Oracle数据库基本知识Oracle Database,又名OracleRDBMS,或简称Oracle。

是甲骨文公司的一款关系数据库管理系统。

本文为大家分享的是Oracle数据库的基本知识,希望对大家有所帮助!它是在数据库领域一直处于领先地位的产品。

可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。

它是一种高效率、可靠性好的适应高吞吐量的数据库解决方案。

介绍ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。

比如SilverStream 就是基于数据库的一种中间件。

ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。

但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。

Oracle数据库最新版本为OracleDatabase 12c。

Oracle数据库12c引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。

此外,一些创新特性可最大限度地提高资源使用率和灵活性,如Oracle Multitenant可快速整合多个数据库,而Automatic Data Optimization和Heat Map能以更高的密度压缩数据和对数据分层。

这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的主要增强,使得Oracle数据库12c 成为私有云和公有云部署的理想平台。

就业前景从就业与择业的角度来讲,计算机相关专业的大学生从事oracle 方面的技术是职业发展中的最佳选择。

其一、就业面广:ORACLE帮助拓展技术人员择业的广度,全球前100强企业99家都在使用ORACLE相关技术,中国政府机构,大中型企事业单位都能有ORACLE技术的工程师岗位,大学生在校期间兴趣广泛,每个人兴趣特长各异,不论你想进入金融行业还是电信行业或者政府机构,ORACLE都能够在你的职业发展中给你最强有力的支撑,成为你最贴身的金饭碗。

plsql + 的用法

plsql + 的用法

plsql + 的用法==========PlSql,全称为PL/SQL,是Oracle数据库中一种常用的编程语言。

本篇文章将详细介绍PlSql的用法,包括其基本语法、开发环境设置、常用函数和语句等。

一、基本语法-----PlSql的基本语法包括声明、赋值和执行语句。

以下是一个简单的PlSql程序示例:```sqlDECLAREv_name VARCHAR2(50);v_age NUMBER;BEGINv_name := '张三';v_age := 25;DBMS_OUTPUT.PUT_LINE('姓名: ' || v_name || ', 年龄: ' || v_age);END;```上述代码中,我们声明了两个变量v_name和v_age,并分别赋值为字符串和数字类型。

然后使用DBMS_OUTPUT.PUT_LINE语句输出结果。

在PlSql中,可以使用Oracle提供的输出函数来输出变量的值。

二、开发环境设置要编写和运行PlSql程序,需要安装Oracle数据库客户端,并配置开发环境。

具体步骤如下:1. 安装Oracle数据库客户端,并确保数据库服务已启动。

2. 打开Oracle SQL Developer或其他Oracle数据库管理工具。

3. 创建一个数据库连接,并选择要使用的数据库。

4. 在工具中打开一个新的PlSql编辑器窗口或创建一个新的PlSql文件。

三、常用函数和语句---------PlSql提供了许多内置函数和语句,用于处理数据、执行操作和生成结果。

以下是一些常用的函数和语句:* 数据类型转换函数:TO_CHAR、TO_NUMBER等。

* 字符串操作函数:SUBSTR、LENGTH、REPLACE等。

* 日期操作函数:YEAR、MONTH、DAY等。

* 控制语句:BEGIN...END、LOOP、WHILE、CASE等。

* 异常处理语句:EXCEPTION、RAISE等。

sqlplus 编译package 语句

sqlplus 编译package 语句

SQL\*Plus 是 Oracle 数据库系统中用于执行 SQL 语句和存储过程的命令行工具。

在SQL\*Plus 中编译package 语句是非常常见的操作,本文将介绍如何在 SQL\*Plus 中编译 package 语句。

编译 package 语句的基本步骤如下:1. 连接到数据库首先需要使用 SQL\*Plus 命令行工具连接到数据库。

可以使用以下命令进行连接:```sqlplus username/passwordhost:port/servicename```其中,username 是数据库用户名,password 是密码,host 是数据库主机名,port 是数据库端口号,servicename 是数据库服务名。

连接成功后,会出现SQL\*Plus 的提示符,表示已经成功连接到数据库。

2. 编写 package 语句在 SQL\*Plus 中,可以使用任意文本编辑器编写 package 语句。

可以使用 vi 或 Notepad++ 等编辑器编写 package 语句。

package 语句通常包括 package 头和 package 主体两部分,可以分别编写并保存到文件中。

3. 载入 package 文件在 SQL\*Plus 中使用以下命令载入 package 文件:```package_file_name.sql```其中,package_file_name.sql 是 package 文件的文件名。

载入成功后,SQL\*Plus 会显示已经载入的文件名,并提示已经成功加载package 文件。

4. 编译 package 语句一旦 package 文件被载入到 SQL\*Plus 中,可以使用以下命令编译package 语句:```ALTER PACKAGE package_name COMPILE;```其中,package_name 是 package 文件中定义的 package 名称。

sqlplus -s用法

sqlplus -s用法

sqlplus -s用法
sqlplus是Oracle数据库的交互式命令行工具,-s选项是其中的一个参数,表示“静默模式”。

使用-s选项可以在执行sqlplus
命令时,不显示启动和退出信息,只显示查询结果。

这在需要在脚
本或者批处理中执行SQL语句时非常有用,可以避免额外的输出干扰。

举例来说,假设我们有一个脚本文件test.sql包含SQL查询语句,我们可以使用以下命令来执行该脚本并在静默模式下输出结果:
sqlplus-susername/password@*****************.
这样就会在不显示额外信息的情况下执行test.sql中的SQL语句,并将查询结果输出到标准输出。

需要注意的是,-s选项并不会隐藏错误信息,所以在实际使用中,仍然需要对SQL语句的执行结果进行适当的错误处理。

总之,sqlplus -s选项的主要作用是在执行SQL语句时以静默
模式输出结果,适用于需要在脚本或者批处理中执行SQL查询的场景。

Oracle培训之:sql优化--

Oracle培训之:sql优化--

13
在SQLPLUS 配置AUTOTRACE
AUTOTRACE 参数
SET AUTOTRACE OFF SET AUTOTRACE ON EXPLAIN SET AUTOTRACE ON STATISTICS SET AUTOTRACE ON SET AUTOTRACE TRACEONLY


不能获得AUTOTRACE报告. 这是默认的. 仅仅显示优化器执行计划的AUTOTRACE 报告 仅仅显示SQL语句执行的统计结果的 AUTOTRACE报告 包括上面两项内容的AUTOTRACE报告 与SET AUTOTRACE ON类似,所有的统计 和数据都在,但不可以打印
23
第五章:SQL重编译问题
SQL共享原理 SQL共享的三个条件 PROC程序的SQL共享 PROC程序中以下类型的语句不需进行变量 绑定 • PROC程序的CLIENT参数 • 存储过程的SQL共享 • SQL共享的数据库参数的利弊
24
• • • •
SQL共享原理
• ORACLE将执行过的SQL语句存放在内存 的共享池(shared buffer pool)中,可以被所 有的数据库用户共享 • 当你执行一个SQL语句(有时被称为一个游 标)时,如果它和之前的执行过的语句完全相 同, ORACLE就能很快获得已经被解析的语 句以及最好的 执行路径. 这个功能大大地提 高了SQL的执行性能并节省了内存的使用
查找原因的步骤(四)
• 是否为表和相关的索引搜集足够的统计数 据。对数据经常有增、删、改的表最好定 期对表和索引进行分析,可用SQL语句 “analyze table xxxx compute statistics for all indexes;”。ORACLE掌握了充分反映实 际的统计数据,才有可能做出正确的选择 • 索引列的选择性不高 (字段值重复率高)

plsql使用技巧

plsql使用技巧PL/SQL是Oracle数据库的一种编程语言,可以用于编写存储过程、触发器、函数等程序。

本文将从以下几个方面介绍PL/SQL的使用技巧:一、变量和常量的使用1.1 变量的定义在PL/SQL中,可以使用DECLARE语句来定义变量。

例如:DECLAREv_name VARCHAR2(100);BEGINv_name := 'John';END;1.2 常量的定义在PL/SQL中,可以使用CONSTANT关键字来定义常量。

例如:DECLAREc_pi CONSTANT NUMBER := 3.1415926;BEGINNULL;END;1.3 变量和常量的命名规则在PL/SQL中,变量和常量的命名规则与其他编程语言类似。

变量和常量的名称必须以字母开头,并且只能包含字母、数字和下划线。

二、条件语句的使用2.1 IF语句IF语句用于根据条件执行不同的代码块。

例如:DECLAREv_age NUMBER := 18;BEGINIF v_age >= 18 THENDBMS_OUTPUT.PUT_LINE('You are an adult.');ELSEDBMS_OUTPUT.PUT_LINE('You are a minor.');END IF;END;2.2 CASE语句CASE语句用于根据不同情况执行不同代码块。

例如:DECLAREv_day_of_week NUMBER := 5;BEGINCASE v_day_of_weekWHEN 1 THEN DBMS_OUTPUT.PUT_LINE('Monday');WHEN 2 THEN DBMS_OUTPUT.PUT_LINE('Tuesday');WHEN 3 THEN DBMS_OUTPUT.PUT_LINE('Wednesday'); WHEN 4 THEN DBMS_OUTPUT.PUT_LINE('Thursday'); WHEN 5 THEN DBMS_OUTPUT.PUT_LINE('Friday');ELSE DBMS_OUTPUT.PUT_LINE('Weekend');END CASE;END;三、循环语句的使用3.1 FOR循环FOR循环用于执行一组代码块一定次数。

plsql使用教程

plsql使用教程PL/SQL是Oracle数据库的过程式编程语言,它结合了SQL的强大查询能力和程序设计语言的灵活性。

以下是一个简单的PL/SQL使用教程:1. 定义变量在PL/SQL中,可以使用DECLARE语句来定义变量。

例如:DECLAREnum INTEGER;name VARCHAR2(50);2. 使用SELECT查询数据可以使用SELECT语句从表中检索数据。

例如:SELECT * INTO num, name FROM employees WHERE employee_id = 100;3. 使用IF-THEN-ELSE进行条件判断PL/SQL提供了IF-THEN-ELSE语句来进行条件判断。

例如:IF num > 0 THENDBMS_OUTPUT.PUT_LINE('Number is positive');ELSEDBMS_OUTPUT.PUT_LINE('Number is negative');END IF;4. 使用FOR循环可以使用FOR循环来对一个集合进行迭代。

例如:FOR i IN 1..10 LOOPDBMS_OUTPUT.PUT_LINE('The value of i is: ' || i);END LOOP;5. 创建存储过程可以使用CREATE PROCEDURE语句来创建存储过程。

例如:CREATE PROCEDURE get_employee_details (p_employee_idIN NUMBER) ISv_employee_name VARCHAR2(50);BEGINSELECT employee_name INTO v_employee_name FROM employees WHERE employee_id = p_employee_id;DBMS_OUTPUT.PUT_LINE('Employee name is: ' ||v_employee_name);END;6. 调用存储过程可以使用EXECUTE语句来调用存储过程。

Oracle+PLSQL语句大全

--修改表的内容 DDLselect*from emp;--使用insert添加行insert into emp(ename,job,empno)values('WANGYI','DBA','2000');commit;--忽略列的的列表insert into emp values(3000,'ZHANG','DBA',1000,to_date('1990-07-15','yyyy-mm-dd'),2000,null,10); commit;--为列指定空值insert into emp values(3001,'ZHANG1','DBA',1000,to_date('1990-07-15','yyyy-mm-dd'),null,null,null); rollback;--在列值中使用单引号和双引号单引号里面的双引号表示单引号,例如插入 O’nal insert into emp(ename,empno)values('O''nal',2222);--复制一个表create table emp2 as select*from emp ;truncate table emp2;--从一个表向另外一个表复制行insert into emp2(empno,ename,sal)select empno,ename,sal from emp where empno=7369;rollback;insert into emp2 select*from emp where empno=7369;--使用update修改行update emp set ename='KKKK'where ename='WANGYI';--如果有两个WANG则两个都修改COMMIT;--returning 子句variable sk numberupdate emp set sal=3000where ename='KKKK'returning avg(sal)into: sk;----有问题--使用delete 删除行delete from emp where ename='KKKK';commit;--jdbc_lobselect*from emp;drop table JDBCTEST;SELECT*FROM jdbct1;alter table jdbct1 add(comm number(10));alter table jdbct1 drop(comm);--包:规范+包体--创建包规范create or replace package emp2_package as --指定包的用户可以使用的过程和函数的列表(同时包括变量,类型定义,游标)function func_sum(n number,m number) return number ;end emp2_package;--创建包体create or replace package body emp2_package as --实现声明中的方法 function func_sum(n number, m number) return number assums number;beginsums:=n+m;return sums;end func_sum;end emp2_package;--调用包中的函数和过程select emp2_package.func_sum(1,2) from dual;--获取包中函数和过程的信息select * from user_procedures ;--删除包drop package emp2_package;--触发器--创建触发器(简单的)create or replace trigger trigger_testbefore insert on emp2for each row when (new.sal>10000) --行级触发器begin-- raise_application_error('-20011','工资不能超过1W!');dbms_output.put_line('工资不能超过1W!');end trigger_test;--测试触发器insert into emp2(empno,ename,sal) values (9527,'gggg',11111);--创建触发器create or replace trigger trigger_test3after insert or update of sal on empfor each row when (new.sal>old.sal*0.75)begin--update emp set sal=:old.sal;dbms_output.put_line(:old.sal);end trigger_test3;--创建触发器(insert)create or replace trigger trigger_2before insert or update on empfor each row when (new.sal<100)begininsert into emp(empno,ename,sal) values(1111,'tttttt',:new.sal*10);end;--测试触发器insert into emp(empno,ename,sal) values(2312,'rrrr',1000);update emp set sal=9999 where ename='rrrr';select * from emp;select * from dual;--dual是oracle 中的一张虚表,用于测试函数用--大小写转换select upper('abc') from dual; --转换为大写select upper(DUMMY) from dual;select lower(DUMMY) from dual; --转换为小写select lower(dummy) from dual; --字段不区分大小写select initcap('this is a test') from dual; --单词首字母大写--字符操作select concat('aaa', 'bbb') from dual; --连接两个字符串select 'aaa' || 'bbb' from dual; --也可以用||连接字符串select substr('abcdef', 3) from dual; --拆分字符串。

SQLPLUS的使用

SQL*PLUS的启动和使用1.SQL*PLUS的启动在UNIX平台下,登录用户的.profile文件(或者.login)文件中要配置了有关Oracle数据库的信息。

形如下例所示:DISPLAY=IPADDRESS:0.0ORACLE_HOME=/usr/oracle/app/oracle/product/8.1.6PATH=$ORACLE_HOME/bin:/usr/bin:/etc:/usr/ccs/bin:/usr/bin/X11:/usr/local/bin:$PATH:.NLS_LANG='SIMPLIFIED CHINESE_CHINA.ZHS16cgb231280'ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/dataORACLE_SID=o816LD_LIBRARY_PA TH=$ORACLE_HOME/lib:/usr/libexport DISPLAY ORACLE_HOME PATH NLS_LANG ORA_NLS33 ORACLE_SID LD_LIBRARY_PA TH这样就可以使用SQL*PLUS了。

SQL*PLUS的启动输入有几种方式。

1.1快速启动这种方式直接在命令行敲入所有的参数,不用提示。

Host>sqlplus UserName/passwd@RemoteDatabaseName其中:UserName是数据库系统管理员分配给你的用户名,passwd则是对应的密码。

RemoteDatabaseName则是远端数据库的名字,若你想在本地终端上连接远端数据库时,就需要加上这一项,若只是连接本地数据库,则只需UserName和passwd就足够了。

RemoteDatabaseName应该是db_domain和db_name组成的,但在香港,因为我们用了复制,所以用global_name做为各个数据库的名字。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ORACLE之 SQL基础 SQL*PLUS基础 QQ:1084931388 SQL与SQL*PLUS命令  SQL:在Oracle数据库中创建(表、视图、索引等)、存储、改变(结构、数据)和维护信息;

 SQL命令存放在SQL缓冲区内,保持到下一条SQL命令进入缓冲区,并以―;‖(分号)结尾。

 SQL命令有如下特点:

1. 简单、易读、功能强大,是Oracle各种开发工具的基础 2. 与终端用户进行交互能力强 SQL*Plus概述  SQL*PLUS工具的作用

 ORACLE 的SQL 和PL/SQL的运行环境

 数据库进行操作和管理

 输入、编辑、存储、提取和运行SQL命令和PL/SQL程序

 处理数据、生成报表、存储、打印和格式化查询结果

 在SQL数据库之间存取和拷贝数据

 从一个用户端发送消息和接受消息

 与SQL的区别:①不进入SQL缓冲区

②不用―;‖(分号)结尾  启动SQL*Plus

 命令行方式启动SQL*PLUS

 图形界面方式启动SQL*Plus

启动SQL*Plus  命令行方式启动SQL*PLUS

 sqlplus [username]/[password] [@connect_string]|[NOLOG]

 图形界面方式启动SQL*PLUS

 退出SQL*PLUS:SQL>exit

父表dept  SQL> select * from dept;

 DEPTNO DNAME LOC

 --------- -------------- -------------

 10 ACCOUNTING NEW YORK

 20 RESEARCH DALLAS

 30 SALES CHICAGO

 40 OPERATIONS BOSTON

Emp子表 EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO --------- -------- --------- ----- --------- ---- ---- ------ 7369 SMITH CLERK 7902 17-DEC-80 800 20 7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30 7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30 7566 JONES MANAGER 7839 02-APR-81 2975 20 7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30 7698 BLAKE MANAGER 7839 01-MAY-81 2850 30 7782 CLARK MANAGER 7839 09-JUN-81 2450 10 7788 SCOTT ANALYST 7566 19-APR-87 3000 20 7839 KING PRESIDENT 17-NOV-81 5000 10 7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30 7876 ADAMS CLERK 7788 23-MAY-87 1100 20 7900 JAMES CLERK 7698 03-DEC-81 950 30 7902 FORD ANALYST 7566 03-DEC-81 3000 20 7934 MILLER CLERK 7782 23-JAN-82 1300 10 14 rows selected.

SQL*PLUS基础  SQL命令的组成

数据定义语言(DDL):creat(建立)drop(删除) alter(修改表结构)rename(改名) 数据操纵语言(DML):select(查询)insert(插入) delete(删除)update(更新) 数据控制语言(DCL):grant(授权)revoke(回收) 数据检索语言(SELECT) 事务处理控制命令:包括:commit(提交)、rollback(回退)savepoint(设置保存点), 练习  什么是S Q L?S Q L有什么功能?

 下列哪个语句可以从数据库中取得数据?

 A. select B. update C. insert D. delete

 3. 指出S Q L数据控制语言(D C L)中的命令。

 4. 指出S Q L数据操纵语言(D M L)中的命令。

 5. 指出S Q L数据定义语言(D D L)中的命令。

ORACLE的数据类型  下列代码演示了两者最重要的差别:

 SQL> create table tester

 2 (col1 char(10), col2 varchar2(10));

 SQL> insert into tester values ('BRADY','BRADY');

 SQL> select vsize(col1), vsize(col2) from tester; VSIZE(COL1) VSIZE(COL2)

 ----------- -----------

 10 5

ORACLE的数据类型 3. number(w,d)型—数值型 存放数值型数据,w代表总位数(1—38位),d代表小数点后的位数 number 1234567.89 number(9) 1234568 1234567.89 number(9,2) 1234567.89 number(9,1) 1234567.9 number(7) 1234568 number(7,-1) 1234570 ORACLE的数据类型  插入的值超过允许位数时,只要超出的位数在小数点后面,O r a c l e总是对其四舍五入。

 如果超出的位数在小数点前面,则O r a c l e返回错误。

 SQL> create table tester22 (col1 number(15,2));

 SQL> insert into tester values (1234567891011);

 1 row created.

 SQL> insert into tester values (12345678910111); *ERROR at line 1:

 ORA-01438: value larger than specified precision allows for this column

 SQL> insert into tester2 values (1234567891011.121)

 1 row created.

ORACLE的数据类型 4. date型—日期型  用于存放日期,范围从公元前4712年的1月1日到公元后4712年12月31日。采用一种用七位数字表示日期时间的Julian date(儒略日)存储方式。

 儒略日有如下优点:①可进行日期计算②可进行有效性检查③有利于正确排序④能存储时间

 date型的缺省格式为:DD-MON-YY (如19-Apr-02)

ORACLE的数据类型 6. 多媒体数据类型 ⑴lob:用于存储无组织的大的文本文档、静态图像、音频、视频等多媒体信息,最大长度为4GB。分为以下几种: ⑵clob:存储文本、字符等大对象 ⑶blob:存储二进制的大对象,最大长度为4GB ⑷bfile:存储指向数据库之外,由操作系统管理的巨型对象的指针。BFILE类型数据的文件,可以存储在硬盘上,也可以在CD或DVD上。 其中:BLOB、CLOB属于内部LOB类型,存储在数据库的表空间里,一个内部LOB数据的长度如果小于4000字节,存储在表的记录中;超过4000字节,自动移出表外单独存储。但无论存在何处,都有一个LOB定位器(指向存储LOB数据实际位置的指针)存于表中的LOB列里。BFILE属于外部LOB类型,BFILE数据是只读的。  注:一个表中可以有多个多媒体数据类型,解除了long型的限制;一个表可以在列中存储定位指针,而不存储真的句型对象本身。

练习 1. SALES表中的PROFITS列声明为NUMBER(10,2)。下列哪个值无法在这个列中存储?

A.5392845.324 B.871039453.1 C.75439289.34 D. 60079829.25 2. 员工KING于1981年11月17日招聘,你对Oracle数据库发出下列查询:select vsize(hiredate) from emp where ename = ‗KING‘。下列哪个选项是返回的值? A. 4 B. 7 C. 9 D. 17  SALES 表中将PRODUCT_NAME列定义为CHAR ( 40 )。后面要在表中增加一行,PRODUCT_NAME值为―CAT_TOYS‖。然后发出下列命令:

select vsize (product_name) from sales。哪个选项是返回的值?A. 8 B. 12 C. 40 D. 4000

相关文档
最新文档