首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求SQL语句 创建存储过程,要求当一个员工的工作年份大于6年时将其转到经理办公室工作,该怎么解决

2012-04-26 
求SQL语句 创建存储过程,要求当一个员工的工作年份大于6年时将其转到经理办公室工作创建存储过程,要求当一

求SQL语句 创建存储过程,要求当一个员工的工作年份大于6年时将其转到经理办公室工作
创建存储过程,要求当一个员工的工作年份大于6年时将其转到经理办公室工作

CREATE DATABASE YGGL
ON
( NAME='YGGL_DATA',
  FILENAME='d:\YGGL.MDF',
  SIZE=5MB,
  MAXSIZE=50MB,
  FILEGROWTH=5%)
LOG ON
  (NAME='YGGL_Log',
  FiLENAME='d:\YGGL_Log.ldf',
  SIZE=5MB,
  MAXSIZE=10MB,
  FILEGROWTH=1MB)
  GO

USE YGGL
CREATE TABLE Employees
  ( EmployeeID char(6) primary key,
  Name char(10) NOT NULL,
  education char(4) not null,
  workyear tinyint null,
  Address varchar(50) NOT NULL,
  Zip Char(6) NULL,
  PhoneNumber char(12) NULL,  
  EmailAddress varchar(20) NULL,  
  DepartmentID char(3) NOT NULL,  
  Birthday datetime NOT NULL,
  Sex bit NOT NULL,
  )
   
create table departments
  ( departmentID char(3) primary key,
  departmentname varchar(30),
  Note text)
go
create table salary
  (
  employeeID char(6) primary key,
  inCome float,
  outCome float 
)
go
insert into employees values('000001','王林','大专',8,'中山路32-1-508','210003','3355668',null,'2','1956-1-23',1)
insert into employees values('010008','伍容华','本科',3,'北京东路100-2','210001','3321321',null,'1','1966-3-28',1)
insert into employees values('020010','王向荣','硕士',2,'四牌路10-10-108','210006','3792361',null,'1','1972-12-9',1)
insert into employees values('020018','李丽','大专',6,'中山东路102-2','210002','3416601','lili@sina.com','1','1950-7-30',0)
insert into employees values('102201','刘明','本科',3,'虎距路100-2','210013','3606608',null,'5','1962-10-18',1)
insert into employees values('102208','朱俊','硕士',2,'牌楼巷5-3-1806','210013','3606608','zhujun@sina.com','5','1962-10-18',1)
insert into employees values('108991','钟敏','硕士',4,'中山路108-3-105','210004','4808817','zhongmin@sohu.com','5','1955-09-28',0)
insert into employees values('111006','张石兵','本科',1,'解放路34-9-1-203','210010','4563418','zhang@china.com','5','1964-10-01',1)
insert into employees values('210678','林涛','大专',2,'中山北路247-2-303','210008','3467337',null,'3','1967-04-02',1)
insert into employees values('302566','李玉珉','本科',3,'热和路209-3','210018','8765991','liyumin@jlonline.com','4','1958-09-20',1)
insert into employees values('308759','叶凡','本科',2,'北京西路3-7-502','210001','3608901',null,'4','1968-11-18',1)
insert into employees values('504209','陈林琳','大专',5,'汉中路120-4-102','210002','4468158',null,'4','1959-09-03',0)

insert into departments values('1','财务部',null)
insert into departments values('2','人力资源部',null)
insert into departments values('3','经理办公室',null)
insert into departments values('4','研发部',null)
insert into departments values('5','市场部',null)

insert into salary values('000001',2100.8,123.09)
insert into salary values('010008',1582.62,88.03)
insert into salary values('102201',2569.88,185.65)
insert into salary values('111006',1987.01,79.58)
insert into salary values('504209',2066.15,108.0)
insert into salary values('302566',2980.7,210.2)
insert into salary values('108991',3259.98,281.52)
insert into salary values('020010',2860.00,198.0)
insert into salary values('020018',2347.68,180.0)
insert into salary values('308759',2351.98,199.08)
insert into salary values('210678',2240.00,121.0)
insert into salary values('102208',1980.00,100.0)

[解决办法]

SQL code
create proc pr_nameasbegin   update Employees set DepartmentID =3 where workyear>6end 


[解决办法]
感觉你这个应该用触发器才合适啊
[解决办法]

SQL code
update Employees set DepartmentID=(select DepartmentID from departments where departmentname='经理办公室') where workyear>6select * from Employees/*EmployeeID Name       education workyear Address                                            Zip    PhoneNumber  EmailAddress         DepartmentID Birthday                Sex---------- ---------- --------- -------- -------------------------------------------------- ------ ------------ -------------------- ------------ ----------------------- -----000001     王林         大专        8        中山路32-1-508                                        210003 3355668      NULL                 3            1956-01-23 00:00:00.000 1010008     伍容华        本科        3        北京东路100-2                                          210001 3321321      NULL                 1            1966-03-28 00:00:00.000 1020010     王向荣        硕士        2        四牌路10-10-108                                       210006 3792361      NULL                 1            1972-12-09 00:00:00.000 1020018     李丽         大专        6        中山东路102-2                                          210002 3416601      lili@sina.com        1            1950-07-30 00:00:00.000 0102201     刘明         本科        3        虎距路100-2                                           210013 3606608      NULL                 5            1962-10-18 00:00:00.000 1102208     朱俊         硕士        2        牌楼巷5-3-1806                                        210013 3606608      zhujun@sina.com      5            1962-10-18 00:00:00.000 1108991     钟敏         硕士        4        中山路108-3-105                                       210004 4808817      zhongmin@sohu.com    5            1955-09-28 00:00:00.000 0111006     张石兵        本科        1        解放路34-9-1-203                                      210010 4563418      zhang@china.com      5            1964-10-01 00:00:00.000 1210678     林涛         大专        2        中山北路247-2-303                                      210008 3467337      NULL                 3            1967-04-02 00:00:00.000 1302566     李玉珉        本科        3        热和路209-3                                           210018 8765991      liyumin@jlonline.com 4            1958-09-20 00:00:00.000 1308759     叶凡         本科        2        北京西路3-7-502                                        210001 3608901      NULL                 4            1968-11-18 00:00:00.000 1504209     陈林琳        大专        5        汉中路120-4-102                                       210002 4468158      NULL                 4            1959-09-03 00:00:00.000 0(12 行受影响)--满足条件的记录仅ID为 000001 的一条.*/
[解决办法]
没有 as

热点排行