`
本来不想注册
  • 浏览: 199490 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

一些SQL知识

阅读更多
为了找工作,找一些sql相关的笔试题来做做

题目:考试总分为100分,共8题,时间为1小时。
表结构说明:
create table employee(
id number(10) not null, -- 员工工号
salary number(10,2) default 0 not null, -- 薪水
name varchar2(24) not null -- 姓名
);
问题:
1.创建序列seq_employee,该序列每次取的时候它会自动增加,从1开始计数,不设最大值,并且一直累加,不循环。(10分)
create sequence seq_employee
increment by 1
start with 1
nomaxvalue
nocycle;


2.写一个PL/SQL块,插入表user.employee中100条数据。插入该表中字段id用序列seq_employee实现,薪水和姓名字段可以任意填写。(15分)
declare i number;
begin
for i in 1..100
loop
insert into employee
values (seq_employee.nextval, 1950+i, 'Jack' ||to_char(i));
commit;
end loop;
end;



3.写一个语句块,在语句块中定义一个显式游标,按id升序排列,打印表employee中前十条数据。(15分)
declare 
cursor c is select id, salary, name from (select * from employee order by id asc) where rownum < 11;
v_record c%rowtype;
begin
open c;
loop
fetch c into v_record;
exit when c%notfound;
dbms_output.putline(to_char(v_record.id) || ',' || to_char(v_record.salary) || ',' || v_record.name);
end loop;
close c;
end;


4.创建存储过程p_employee,输入员工薪水范围,返回员工工号、姓名、薪水结果集,结果集按员工薪水升序排列。(15分)
create or replace procedure p_employee
(iminsalary in number, imaxsalary in number)
is
begin
for x in (select id, salary, name from (select * from employee where salary between iminsalary and imaxslalary) order by salary)
loop
dbms_output.put_line(to_char(x.id) || to_char(x.salary) || x.name);
end loop;
end;


5.创建函数f_employee实现更新员工薪水的功能,将薪水低于2000且姓wang的员工薪水加5%,其他不变,更新成功则返回0,否则返回1。(15分)
create or replace function f_employee return number
is 
begin
update employee set salary = salary + salary*0.05 where salary<2000 and name like 'wang%';
commit;
if sql%rowcount=0 then
return 1;
else
return 0;
end if;
end;



Implicit cursors: SQL%ROWCOUNT returns number of rows affected by SQL statement



6.写一个匿名语句块,用于执行函数f_employee,并打印执行该函数的结果。(8分)
declare a number;
begin
a:=f_employee();
dbms_output.put_line(to_char(a));
end;



7.创建存储过程p_create_emp,用于判断表employee是否存在,如果存在则删除该表。(15分)
create or replace procedure p_create_emp
is
v_count number;
begin
select count(*) into v_count from user_tables where table_name = 'EMPLOYEE';
if v_count = 0 then 
return;
else
execute immediate 'drop table employee';
end if;
end;



8.写一个匿名语句块,用于执行存储过程p_create_emp。(7分)
exec p_create_emp



摘自: http://space.itpub.net/8645409/viewspace-175844










分享到:
评论

相关推荐

    SQL知识演练,SQL知识演练SQL知识演练

    SQL知识演练SQL知识演练 SQL知识演练SQL知识演练 SQL知识演练SQL知识演练

    pl/sql 知识库

    本文将深入探讨PL/SQL的基础知识、ASCII码对照表以及SQL相关的错误代码信息。 首先,让我们理解PL/SQL的核心概念。PL/SQL是一种结合了SQL查询和程序设计元素的语言,它允许开发人员编写复杂的数据库操作程序。它由...

    数据库SQL知识点总结、代码及练习题代码

    数据库mysql、SQL server压缩包包含内容: 1.数据库的创建修改批量插入等基本操作及sql文件 2.数据表的约束、查询及...6.t-sql知识点和有练习题的sql文件 7.触发器 存储过程 索引 视图 知识点及sql文件 8.事务ACID理解

    SQL知识点总结

    这是sql部分知识点的集合,以后还会有更全面的只是集合

    SQL知识点汇总【完整版】

    SQL知识点汇总【完整版】 本节课将对 SQL 的基础知识进行一个全面详细的总结,包括 SQL 语言分类、SQL SERVER 2008 数据分类、用户定义的数据类型等重要知识点。 SQL 语言分类 SQL 语言可以分为三类:DDL、DML 和...

    SQL基础知识第2版.pdf

    本文将详细介绍SQL的基础知识,包括SELECT语句的用法、DISTINCT关键词以及TOP子句的概念与应用。 首先,关于SELECT语句,它是SQL中用来从数据库表中选择数据的最重要的命令之一。SELECT语句的基本用法是从表中选取...

    sql必备知识

    SQL(Structured Query Language)是用于管理和操作数据库的标准编程语言,对于任何想要与数据打交道的人来说,掌握SQL知识至关重要。本教程将带你逐步理解SQL的基础和高级用法,通过实例让你轻松掌握编写高级SQL...

    数据库SQL基础知识

    数据库SQL基础知识是IT领域中至关重要的一环,尤其对于初学者来说,掌握好SQL语言是进入数据管理和分析世界的敲门砖。SQL(Structured Query Language),结构化查询语言,是用于管理和处理关系型数据库的标准语言。...

    sqlserver知识点总结(考试复习必备)

    SQL Server 知识点总结 SQL Server 是一种关系型数据库管理系统,由 Microsoft 开发,广泛应用于企业级数据库管理。下面是 SQL Server 知识点总结,涵盖数据库结构、创建数据库、查看数据库信息、修改数据库等方面...

    sql基本知识全集

    在IT领域,SQL(Structured Query..."SQL知识点全集.docx"可能包含详细的解释和示例,"SQL知识点全集.sql"则可能是包含实际SQL语句的示例文件,而"SQL知识点目录.txt"则是整个知识体系的导航,帮助你快速定位所需内容。

    sql常用知识点

    SQL常用知识点通常包含数据库表的创建、查询、更新、删除、事务、索引优化、死锁处理等方面。以下是基于提供的内容详细的知识点说明。 一、基础知识点 1. 数据类型和变量 - SQL中使用各种数据类型定义表中的列,...

    SQL必备知识

    了解并熟练掌握这些SQL知识点,将有助于你设计、操作和管理高效的数据库系统,从而为订单软件或其他项目提供稳定的数据支持。在实践中不断学习和探索,你会发现SQL是一种强大而灵活的工具,能应对各种数据挑战。

    SQL Server 基本知识

    第二讲: SQL Server 基本知识 教师课件搬运,非原创,今后也要好好加油~

    T-SQL课件(介绍了T-SQL的一些基本知识)

    掌握T-SQL的基本知识对于任何需要与SQL Server交互的开发者来说都是至关重要的,无论是进行简单的数据查询还是构建复杂的业务应用程序。学习T-SQL的这些基础知识将有助于理解如何有效地管理和操作数据库,以及如何...

    SQL Server 初级最全面知识点

    【SQL Server 初级最全面知识点】 SQL Server是由微软公司开发的一种关系型数据库管理系统,以其可靠性、高效性和智能化而受到广泛使用。SQL Server 2008是其中的一个重要版本,它提供了4个系统数据库,包括Master...

    sql server 2008基础知识

    本篇文章将深入探讨SQL Server 2008的基础知识,适合初学者入门学习。 首先,我们要了解SQL(Structured Query Language),它是用于管理和处理关系数据库的标准语言。SQL Server 2008支持SQL的各种操作,如查询、...

    SQL注入基础知识

    SQL注入基础知识的学习,可以对你有很大的帮助,避免在开发过程中出现更多的安全问题

    sql注入知识点总结.pdf

    在进行SQL注入攻击时,攻击者常常会使用MySQL的一些内置函数和参数来获取数据库的相关信息,例如version()函数可以获得MySQL的版本,database()函数可以获取当前数据库的名称,而user()和current_user()函数可以用来...

    SQL基础知识

    SQL基础.sql SQL基础知识 

Global site tag (gtag.js) - Google Analytics