当前位置:首页 » 编程语言 » 银行sql要求
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

银行sql要求

发布时间: 2022-11-19 05:34:14

1. 关于sql数据库问题

我的周末就耗在这道题上了。。
来来去去,然后中间又夹杂一些杂事,做到现在终于做完。。

1.【create table语句】
create table bank(
cardid number primary key,
perid number unique,
name varchar2(20),
sex char(2),
brithday varchar2(40),
constraint sex check(sex in ('男','女')) ,
constraint perid check(length(perid) in (15,18))
);

create table money(
cid number,
score number,
foreign key(cid) references bank(cardid));

2.【insert bank表测试数据】
insert into bank (cardid,perid) values (1,43090319851130);
insert into bank (cardid,perid) values (2,430903851130230);
insert into bank (cardid,perid) values (3,430903001130234);
insert into bank (cardid,perid) values (4,430903981120231);
insert into bank (cardid,perid) values (5,430903011111228);
insert into bank (cardid,perid) values (6,430903200112212103);
insert into bank (cardid,perid) values (7,430903311111221);
insert into bank (cardid,perid) values (8,430903198112212103);
insert into bank (cardid,perid) values (9,430913981120239);
insert into bank (cardid,perid) values (10,431903001130234);
insert into bank (cardid,perid) values (11,420903198112212133);

3.【更新性别,出生日期】
update bank set
sex = decode(length(perid),15,
decode(mod(substr(perid,14,1),2),0,'女',1,'男'),18,
decode(mod(substr(perid,17,1),2),0,'女',1,'男')),brithday =
decode(length(perid),15,19||substr(perid,7,6),18,substr(perid,7,8));

4.【update name测试数据】
注意:修改姓,但是名里面的牛不要改。策略:把牛姓的名字替换为'刘'||第二个字符开始到结束的串。
create sequence seq1;
update bank set name = '牛XX牛刘'||seq1.nextval;
update bank set name = '刘'||substr(name,2,length(name)-1) where name like '牛%';

5.【insert money表测试数据】
insert into money values (1,1.1);
insert into money values (2,12);
insert into money values (3,0.9);
insert into money values (4,122);
insert into money values (5,12);
insert into money values (6,12);
insert into money values (7,131);
insert into money values (8,12);
insert into money values (9,123);
insert into money values (10,12);
insert into money values (11,0.11);

6.delete from money where score < 2;

7.insert into money select cardid,2 from bank
where cardid not in (select cid from money);

8.select name from bank,money
where cardid = cid and rownum < 4 order by money.score desc;

9.select name from bank
where substr(brithday,5,2) = to_char(sysdate,'mm');
--本月生日的客户姓名
select name from bank where
to_char(to_date(brithday,'yyyymmdd'),'ww') = to_char(sysdate,'ww');
--本周生日的客户姓名

10.题意不清,个人理解为显示所有客户余额为平均余额的客户姓名,其中平均存款计算时不算一个最高和一个最低余额。
select name from bank where cardid in
(select cid from money where score in
(select (sum(score)-max(score)-min(score))/(count(score)-2)
from money));

花絮:
1.查找了下身份证的生成规则,同时研究了下生成算法。。
资料:http://www.xaccp.com/Article/200808/1016.shtml

2.在由身份证号码更新生日时,遇到一个问题,就算是上面的链接处引用的算法也无法解决,那就是15位身份证的日期段为00XXXX时,无法判断生日为1900XXXX或是2000XXXX。
2.1 在连接字符串时,因为想到用substr函数取perid字段得到的是字符类型,本来可以隐式转换为数字类型,但是强制转换为数字类型后,连接时会出问题,比如select 01||00 from al;得到的是01而不是0100。所以当时在更新生日时用到一个很复杂的decode语句。。
update bank set
sex = decode(length(perid),15,decode(mod(substr(perid,14,1),2),0,'女',1,'男'),18,
decode(mod(substr(perid,17,1),2),0,'女',1,'男')),
brithday = decode(length(perid),15,
decode(length(19||to_number(substr(perid,7,6))),8,19||to_number(substr(perid,7,6)),7,190||to_number(substr(perid,7,6)),6,
1900||to_number(substr(perid,7,6))),18,substr(perid,7,8));

2.2在整个编译过程中由于文档和SQL环境的多次变换,导致符号半全角混杂,带来极大不便。。经常莫名其妙的错误。应对策略,在使用ORACLE的过程养成用E文编译,测试学习的习惯,ORACLE认证考试OCA,OCP也是全E文化的。

3.在第8问中,本来想到可以用以下语句解决的
【select name from bank where cardid in (select cid from money where rownum < 4 order by score desc)】
多次出错后,查笔记想起order by 子句不能用到嵌套语句中,只能放在最外层语句的最后,不知可对,各位看官提下意见。

4.关于第10题,如果去掉所有最高和最低余额,不是都只去掉一个计算平均余额时的查询:
select name from bank where cardid in
(select cid from money where score in
( select sum(score)/count(score) from money where score not in
((select max(score) from money),(select min(score) from money))));

大功告成!以上全是ORACLE支持的,MYSQL的话,需要更换MYSQL自适应的函数,还有其中的7问中的insert语句,insert into money select cardid,2 from bank where cardid not in (select cid from money);MYSQL不支持。
吃饭。。

2. 银行招聘有专业限制吗

银行招聘有专业限制的。

银行招聘通常都会有专业限制,也有一些银行的少部分职位是不限专业的,这些岗位通常竞争比较激烈。

银行招聘的专业要求一般为:金融、会计、财务、市场营销、经济管理、电子银行等经济类及信息科技类相关专业。具体要求以最新公告为准。

银行招聘要求有哪些?银行由于其稳定的工作,不错的薪资福利成为了许多应届生梦寐以求的职业。但与此同时,考取银行编制的竞争压力也是相对较大的。

银行专业要求主要招收但不限于经济、金融、管理、理学、工学、法学、文学、计算机等专业,其中计算机专业的招聘人数较往年有所增长。

其中还有部分银行甚至很多岗位都放宽了专业的限制,比如建设银行的招聘还增加了哲学类、新闻学类、历史学类、产品设计类等相关专业,甚至银行招聘直接不限专业。

1.银行春招流程
春招一般从 2 月底就开始,宣讲会集中在 3 月和 4 月,招聘的笔试和面试集中在 3 月-5 月,拿到 offer 一般是在 4-5 月。春招实际的程序同秋招,也可以说春招是由秋招未招满岗位发起的又一招聘时间段。参加春招的人员大多来源于秋招未成功就业或考研、国考失利的群体,加之部分企业只开秋招,不开春招,企业数量减少,竞争也会很激烈。

银行的招聘流程分为公告-网申-笔试-面试-体检-录取通知。

2.银行求职准备
01.简历
简历书写是求职过程中最为基础的阶段,一份好的简历可以大大增加其通过网申筛选的概率,而简历的书写也需要遵循一定的基本原则以及一些可以变通的技巧。

1.基本内容
简历中的银行招聘要求有哪些?一份简历需要涵盖的基本内容有:教育经历,实习经历,项目经历,校园经历,技能证书。教育经历必须要包含学校、专业、学位、起止时间,GPA 或者排名情况比较好的话也需要写上去,如果不是很好的话,可以不写,用主要课程补上空位。经历的书写要遵循“STAR 法则”,在经历充足的情况下,篇幅占比应该是实习经历>项目经历>校园经历。

实习经历不够的情况下可将学校的小组作业、科研作业等内容作为项目经历补充。技能证书方面,学校的奖学金奖励、专业技能证书、获奖比赛等都可以写,此外一些资格证或者从业证对于申请金融行业都有加分,例如证券从业资格证、CFA、ACCA、FRM 等,如果成绩较好的话可以加括号注明。

2.注意事项
简历在书写过程中一定要实事求是,不能造假,尤其是教育经历和实习经历,一般都有据可查。行文排版一定要规范。

中文、外文、数字各自使用相同的字体;同一级内容使用相同的字号与格式;中英文简历篇幅各自以一页为标准,并隔页排布,可以不完全写满一页,但一定不能超出;中文简历中切忌出现中英文混杂的情况出现,专有名词或缩写(如 GPA、CPA、SQL 等)以及无法匹配中文翻译的专业性学术性名词除外。

3. 写出银行模拟系统的取款业务对应的SQL语句

1. update Customer_Balance set balance = balance - 200 where card_id = '77777777'
insert into BillingHistory(card_id, amount, billing_date) values ('77777777', -200, '2012-02-18')
2. update Customer_Balance set balance = balance - 300 where card_id = '77777777'
update Customer_Balance set balance = balance + 300 where card_id = '99999999'
insert into BillingHistory(card_id, amount, billing_date) values ('77777777', -300, '2012-02-19')

insert into BillingHistory(card_id, amount, billing_date) values ('99999999', 300, '2012-02-19')

这样可以吗,加入一张表示客户余额表,一张表示存取历史表

4. 在银行工作需要学习sql吗

如果是在科技的话,需要的。

5. 银行的sql查询语句是什么样子的。

1. update Customer_Balance set balance = balance - 200 where card_id = '77777777'
insert into BillingHistory(card_id, amount, billing_date) values ('77777777', -200, '2012-02-18')
2. update Customer_Balance set balance = balance - 300 where card_id = '77777777'
update Customer_Balance set balance = balance + 300 where card_id = '99999999'
insert into BillingHistory(card_id, amount, billing_date) values ('77777777', -300, '2012-02-19')

6. sql server 在银行数据库应用中 实际要做些什么操作

如果是银行的数据中心的话,可能更多的是数据及系统维护的知识,例如服务器维护,集群管理,虚拟化管理等。
如果是普通的信用卡中心的话,可能更多的是软件的开发,包括网站,数据维护,数据安全,安全认证,这个就需要有编程语言的功底了,多是系统驱动或者安全软件,编程能力要求比较高。
如果是银行普通的科技部门那么就是闲职,喝茶看报纸,然后维修一下机器,重装个系统什么的,有点像普通公司的机修和网管,但是比那个养人得多,还可能维护一些使用的办公软件,可能会涉及到一些数据库的操作,但基本上都是基础的。

7. 负责管理银行的数据库,,应采取哪些措施来保证银行数据的安全性

老大,你这个问题比较大啊

1、数据库服务器得有完善的备份制度以保证最基本的容灾能力吧;

2、系统的事务处理应该是完备,基本的sql注入应该有针对性的防范,数据库操作用户的权限应该有针对性的设置

3、实施安全验证机制,CA证书什么的,保证系统的使用者是合法用户

4、独立的访问控制

个人理解,仅供参考

8. 在银行工作,需要具备哪些专业知识呢

普通职员没有什么特别的要求,进去实习以下就完全应付日常的工作拉! 若想有所发展,成就的话,进入管理层,就需要补充知识,要学些金融学的知识,熟悉金融领域的知识,入门可选择金融学,货币银行学,证券投资,财政学等.另外要懂的财务的一写知识,也就是最开始学习的会计,财务管理,这些在金融工作当中是基础的平台,一定要学习.
所以你要进金融单位的话,没有关系最好先充电学习关于这方面的知识. 计算机要懂得银行专业操作

9. 数据库SQL里有张表银行卡信息,表里的银行卡号的约束既要16数、又要每四位数之间有空格怎么写

两种方案,要么你的数据库字段设置为18个字符,这样在银行卡号的存储时设置4位空格另外一种是在数据库中约束16字符存储16位银行卡信息。在读取显示出来的时候处理为4位数字加空格。推荐后种

10. SQL银行模拟系统增加账户计息功能

存储过程+维护计划 完美搞定!