oracle数据库账户是针对数据库而言,一般是数据库管理员DBA创建并赋予了一定权限(查、改、session等权限)的用户,是数据库 *** 作的凭证。
员工账号是针对数据库中的某个实例中的一个员工表的账户字段,是登录一个特定应用软件系统的凭证
-- 1、 在销售商品的同时,将记录库存中该商品数量减少多少。
CREATE TRIGGER tg_reduceNO
ON sales FOR update
AS
begin
declare @oldnum int
declare @newnum int
set @oldnum=(select sale_number from deleted)
set @newnum=(select sale_number from inserted)
update stock set stock_number=stock_number-(@newnum-@oldnum)
--@newnum-@oldnum表示商品减少的数量
where dbostockpro_id=(select pro_id from inserted)
end
-- 2、 在增加一种新商品时,给库存表中增加一条库存为零的记录。
CREATE TRIGGER tg_addproduct
on product for insert
as
begin
declare @pro_id varchar(10)
set @pro_id=(select pro_id from inserted)
insert stock values(@pro_id,'0')
end
-- 3、 当更新部门表的部门编号时,将员工表中相应的部门编号修改过来
CREATE TRIGGER tg_upd
on department for update
as
begin
update dboemployee set dept_id=(select dept_id from inserted)
where dept_id=(select dept_id from deleted)
end
select from employ(员工信息数据库) where time(时间字段)="2000"。
员工特点
企事业单位中各种用工形式的人员具有以下特点:
创造性强
他们主要依靠自己对新知识的探索和领悟,从而产生对新事物创造的欲望,推动生产的发展、技术的更新,产品的换代,从而使知识资本增值。
独立性强
由于知识型员工掌握单位生产发展所必须的知识,具有某种特殊技能,因此他们更愿意在一个独立的工作环境中工作,不愿意接受其他事物或人员的牵制。
成就欲强
他们不仅想获得一定的物质报酬,更想获得社会的尊重、上级的器重、个人的声望。
自我完善欲望强
知识型员工对知识不断学习、更新,对新技术不断探索追求,以期促进自我完善的意识和自觉性。
百度百科-员工
请说明使用的数据库类型mysql如下select distinct from(select from WorersSalary orde by Salary desc limit 0,3 a unionselect from WorersSalary b)sqlserver如下select distinct from(select top 3 from WorersSalary orde by Salary desc a unionselect from WorersSalary b)
SELECT
maindept_name as 部门名称,
count() as 在职员工数,
sum(acu_salary) as 实发工资总额
FROM
dept main
INNER JOIN emp a ON maindept_code = adept_code
INNER JOIN salary b ON aemp_id = bemp_id
WHERE
-- 1为有效标识
mainalive_flag = '1'
AND aalive_flag = '1'
AND balive_flag = '1'
AND b`month` = '201101'
GROUP BY
adept_code
HAVING
count() > 5
列出工资大于7000的员工所属部门的编号 (2分)
select distinct deptid from employee where e_wage>7000
列出员工表中的部门名称(要求使用左连接)(2分)
select adeptname from department a left join employee b on adeptid=bdeptid
列出员工数少于3人的部门编号 (3分)
select deptid from employee group by deptid having count()<3
列出工资最高的员工姓名 (3分)
select empname from employee group by empname having e_wage=(select max(e_wage) from employee)
求各部门的平均工资(2分)
select adeptname,avg(be_wage) from department a,employee b where adeptid=bdeptid
求各部门的员工工资总额(3分)
select adeptname,sum(be_wage) from department a,employee b where adeptid=bdeptid
求每个部门中的最大工资值与最小工资,并且他的最小值小于5000, 最大值大于15000的部门信息(3分)
select from department where deptid
in
(select adeptid from
(select deptid,max(e_wage) max_wage,min(e_wage) min_wage from employee group by deptid) a
where amax_wage>15000 and min_wage<5000)
假如数据库中有一个和员工表结构相同的空表employee2, 请用一条SQL语句将employee表中的所有记录插入到employee2表中 (2分)
insert into employee2 select from employee
给你一个简单的例子。
表格的 *** 作是靠DefaultTableModel,
你好象没有。
------------------------------------------------------------------------------------------------
import javaawteventActionEvent;
import javaawteventActionListener;
import javautilArrayList;
import javautilList;
import javaxswingJButton;
import javaxswingJFrame;
import javaxswingJScrollPane;
import javaxswingJTable;
import javaxswingtableDefaultTableColumnModel;
import javaxswingtableDefaultTableModel;
import javaxswingtableTableColumn;
public class TableAppDemo extends JFrame implements ActionListener {
private JTable table;
private DefaultTableModel model = null;
private String[] columns = { "no", "name", "age", "email" };
private DefaultTableColumnModel columnModel = new DefaultTableColumnModel();
private TableColumn column = null;
public TableAppDemo() {
getContentPane()setLayout(null);
JScrollPane scrollPane = new JScrollPane();
scrollPanesetBounds(12, 46, 418, 217);
getContentPane()add(scrollPane);
model = new DefaultTableModel(columns, 0);
table = new JTable(model);
scrollPanesetViewportView(table);
JButton btnNewButton = new JButton("New button");
btnNewButtonsetBounds(22, 13, 93, 23);
btnNewButtonaddActionListener(this);
getContentPane()add(btnNewButton);
// tablegetColumn(0)setWidth(80);
// tablegetColumn(1)setWidth(120);
// tablegetColumn(2)setWidth(60);
// tablegetColumn(3)setWidth(100);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(450, 300);
setVisible(true);
}
public static void main(String[] args) {
new TableAppDemo();
}
public void actionPerformed(ActionEvent actionevent) {
List<User> list = new ArrayList<User>();
for (int i = 1; i <= 20; i++) {
User user = new User();
userno = i;
username = "name" + i;
userage = i 2;
useremail = "name@163com";
listadd(user);
}
for (int i = 0; i < listsize(); i++) {
User user = listget(i);
modeladdRow(usertoArray());
}
}
}
class User {
public int no = 0;
public String name = null;
public int age = 0;
public String email = null;
public Object[] toArray() {
return new Object[] { no, name, age, email };
}
}
参照关系就是主外键,其最重要的作用是保护你的数据的完整性。
SQL的主键和外键的作用:
外键取值规则:空值或参照的主键值。
(1)插入非空值时,如果主键表中没有这个值,则不能插入。
(2)更新时,不能改为主键表中没有的值。
(3)删除主键表记录时,你可以在建外键时选定外键记录一起级联删除还是拒绝删除。
(4)更新主键记录时,同样有级联更新和拒绝执行的选择。
简而言之,SQL的主键和外键就是起约束作用。
关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键。
比如:
学生表(学号,姓名,性别,班级)
其中每个学生的学号是唯一的,学号就是一个主键;
课程表(课程编号,课程名,学分)
其中课程编号是唯一的,课程编号就是一个主键;
成绩表(学号,课程号,成绩)
成绩表中单一一个属性无法唯一标识一条记录,学号和课程号的组合才可以唯一标识一条记录,所以,学号和课程号的属性组是一个主键。
成绩表中的学号不是成绩表的主键,但它和学生表中的学号相对应,并且学生表中的学号是学生表的主键,则称成绩表中的学号是学生表的外键;同理,成绩表中的课程号是课程表的外键。
定义主键和外键主要是为了维护关系数据库的完整性,总结一下:
一、主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。身份z号是唯一能确定你这个人的,其他都可能有重复,所以,身份z号是主键。
外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。
二、主键、外键和索引的区别
定义:
主键--唯一标识一条记录,不能有重复的,不允许为空
外键--表的外键是另一表的主键, 外键可以有重复的, 可以是空值
索引--该字段没有重复值,但可以有一个空值
作用:
主键--用来保证数据完整性
外键--用来和其他表建立联系用的
索引--是提高查询排序的速度
个数:
主键--主键只能有一个
外键--一个表可以有多个外键
索引--一个表可以有多个唯一索引
创建SQL的主键和外键约束的方法:
create table Student --建表格式:create table 自定义的表名
( --字段名一般为有一定意义的英文
StudentName nvarchar(15), -- 格式:字段名类型()括号里面的是允许输入的长度
StudentAge int, --int型的后面不需要接长度
StudentSex nvarchar(2) --最后一个字段后面不要逗号
)
--在创建表时就可以对字段加上约束:
create table Student
(
StudentNo int PRIMARY KEY IDENTITY(1,1), --加主键约束,还有标识列属性(两者构成实体完整性)
StudentName nvarchar(15) not null, --加非空约束,不加"not null" 默认为:可以为空
StudentSchool text(20) FOREIGN KEY REFERENCES SchoolTable(SchoolName), --加外键约束,格式:FOREIGN KEY REFERENCES 关联的表名(字段名)
StudentAge int DEFAULT ((0)), --加默认值约束
StudentSex nvarchar(2) CHECK(StudentSex=N'男' or StudentSex=N'女') --加检查约束,格式:check (条件表达式)
)
--如果在表创建好了以后再加约束,则格式分别为:
-- 主键:
alter table 表名
add constraint PK_字段名--"PK"为主键的缩写,字段名为要在其上创建主键的字段名,'PK_字段名'就为约束名
primary key (字段名) --字段名同上
--唯一约束:
alter table 表名
add constraint UQ_字段名
unique (字段名)
--外键约束:
alter table 表名
add constraint FK_字段名--"FK"为外键的缩写
foreign key (字段名) references 关联的表名(关联的字段名) --注意'关联的表名'和'关联的字段名'
alter table 表A add constraint FK_B foreign key (ticket_no) references 表B(ticket_no)
alter table 表A add constraint FK_C foreign key (person_no) references 表C(person_no)
alter table 成绩表 add constraint FK_StudentNo foreign key (StudentNo) references Student (StudentNo)
ON UPDATE CASCADE ON DELETE CASCADE
级联更新,级联删除,这样在删除主表Student时,成绩表中该学生的所有成绩都会删除。
--检查约束:
alter table 表名
add constraint CK_字段名
check (条件表达式) --条件表达式中的条件用关系运算符连接
--默认值约束:
alter table 表名
add constraint DF_字段名
default '默认值' for 字段名--其中的'默认值'为你想要默认的值,注意'for'
--删除创建的约束:
alter table 表名
drop constraint 约束名--约束名为你前面创建的如:PK_字段这样的约束名
--注意:如果约束是在创建表的时候创建的,则不能用命令删除
--只能在'企业管理器'里面删除
-- 获取SqlServer中表结构
SELECT syscolumnsname,systypesname,syscolumnsisnullable,
syscolumnslength
FROM syscolumns,systypes
WHERE syscolumnsxusertype = systypesxusertype
AND syscolumnsid = OBJECT_ID('Student')
-- 单独查询表递增字段
SELECT [name] FROM syscolumns WHERE
id = OBJECT_ID(N'Student') AND COLUMNPROPERTY(id,name,'IsIdentity')=1
-- 获取表主外键约束
EXEC sp_helpconstraint 'StuResults'
-- 查询表主键外键信息
SELECT sysobjectsid objectId,OBJECT_NAME(sysobjectsparent_obj) tableName,
sysobjectsname constraintName, sysobjectsxtype AS constraintType,
syscolumnsname AS columnName
FROM sysobjects INNER JOIN sysconstraints
ON sysobjectsxtype in('C', 'F', 'PK', 'UQ', 'D')
AND sysobjectsid = sysconstraintsconstid
LEFT OUTER JOIN syscolumns ON sysconstraintsid = syscolumnsid
WHERE OBJECT_NAME(sysobjectsparent_obj)='StuResults'
以上就是关于什么是oracle数据库用户什么是员工账号全部的内容,包括:什么是oracle数据库用户什么是员工账号、数据库SQL的建表问题!、在MySQL中怎样查询2000年入职的员工等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)