oracle 中如何将游标中循环查出的结果集放到另外一个临时表中

--包头

CREATE OR REPLACE PACKAGE TESTPACKAGE IS

TYPE MYCURSOR IS REF CURSOR; -- 定义游标变量

 -- 定义过程,用游标变量作为返回参数
 PROCEDURE GETRECORDS(
                       RET_CURSOR OUT MYCURSOR ,    
                       P_BIZTYPE  VARCHAR2:=NULL,-- 业务类型
                       P_DATE_START  VARCHAR2:=NULL,-- 起始时间
                       P_DATE_END  VARCHAR2:=NULL, -- 结束时间
                       P_CUSTOM_CODE VARCHAR2:=NULL--关区代码 
                      ); 

END TESTPACKAGE;

--包体

CREATE OR REPLACE PACKAGE BODY TESTPACKAGE IS

/*过程体*/

PROCEDURE GETRECORDS(
RET_CURSOR OUT MYCURSOR , --返回值

P_BIZTYPE VARCHAR2:=NULL,-- 业务类型
P_DATE_START VARCHAR2:=NULL,-- 起始时间
P_DATE_END VARCHAR2:=NULL, -- 结束时间
P_CUSTOM_CODE VARCHAR2:=NULL--关区代码
) AS

--ROW_DEPT CUR_CONNECTNO%ROWTYPE;
--V_SQL VARCHAR2(3000);--sql语句
DAN VARCHAR2(2000);

BEGIN

--CUR_CONNECTNO 该游标用于存放每个业务查询出的结果集     
--A业务
IF P_BIZTYPE='A' THEN

  CURSOR CUR_CONNECTNO IS 
  SELECT  A.ID AS GJ_NO
  FROM GJ_A  A
  WHERE TO_CHAR(A.GDATETIME,'YYYY/MM/DD') >=P_DATE_START
  AND TO_CHAR(A.GDATETIME,'YYYY/MM/DD') >=P_DATE_END;

END IF;

--点击查询全部业务类型时,连接

/* IF P_BIZTYPE='' THEN
V_SQL+=' UNION ALL '
END IF;*/

--B业务
IF P_BIZTYPE='B' THEN

  CURSOR CUR_CONNECTNO IS 
  SELECT  A.NO  AS GJ_NO
  FROM GJ_B A
  WHERE  A.I_E_MARK='1'
  AND TO_CHAR(A.GDATETIME,'YYYY/MM/DD') >=P_DATE_START
  AND TO_CHAR(A.GDATETIME,'YYYY/MM/DD') >=P_DATE_END;
END IF;

--M业务
IF P_BIZTYPE='M' THEN

  CURSOR CUR_CONNECTNO IS 
  SELECT A.NO AS GJ_NO
  FROM GJ_M A
  WHERE  SUBSTR(A.NO,3,1)='M'
  AND TO_CHAR(A.GDATETIME,'YYYY/MM/DD') >=P_DATE_START
  AND TO_CHAR(A.GDATETIME,'YYYY/MM/DD') >=P_DATE_END;
END IF;



/*IF  P_BIZTYPE='' THEN
  V_STR+=' UNION ALL '
  END IF;*/

--G
IF P_BIZTYPE='G' THEN

  CURSOR CUR_CONNECTNO IS
  SELECT A.NO  AS GJ_NO
  FROM GJ_G A
  WHERE  TO_CHAR(A.GDATETIME,'YYYY/MM/DD') >=P_DATE_START
  AND TO_CHAR(A.GDATETIME,'YYYY/MM/DD') >=P_DATE_END;

END IF;

/*IF  P_BIZTYPE='' THEN
  V_STR+=' UNION ALL '
  END IF;*/

--E 业务
IF P_BIZTYPE='E' ||  P_BIZTYPE='' THEN

  CURSOR CUR_CONNECTNO IS
  SELECT A.NO AS GJ_NO 
  FROM GJ_E  A 
  WHERE A.MARK='2'
  AND TO_CHAR(A.GDATETIME,'YYYY/MM/DD') >=P_DATE_START
  AND TO_CHAR(A.GDATETIME,'YYYY/MM/DD') >=P_DATE_END;

END IF;

-- 创建临时表
/* CREATE GLOBAL TEMPORARY TABLE TEMP_TBL(gj_no VARCHAR2(30),COL_A VARCHAR2(30),COL_A VARCHAR2(30))

ON COMMIT DELETE ROWS ;*/

FOR HAHA IN CUR_CONNECTNO LOOP

   --根据上述业务查出的数据 再在次记录表中是否 存在 ,若存在就把数据 取出来
         -- 取出来 想保存到临时表中。  该怎么写
  SELECT *
  FROM RD_Z   Z
  WHERE  BIZ_TYPE = P_BIZTYPE
  AND Z.NO=HAHA.GJ_NO ;

END LOOP;

--最后想用该游标来存放临时表中的数据集 来返回去
--OPEN RET_CURSOR FOR

END GETRECORDS;

END TESTPACKAGE;

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
ORACLE 存储过程 关于游标循环从一个表COPY到另一个表插入问题
``` create or replace procedure insertspzl as is_tb number(2):=1;-- 1 已经同步 2 未同步 3 修改状态 spbh VARCHAR2(255); sccj VARCHAR2(255); sccjpd VARCHAR2(255); --判断生产厂家是否存在 变量 jxname VARCHAR2(255); jxnamepd VARCHAR2(255); spfl VARCHAR2(255); jyfw VARCHAR2(255); cursor cur is select trim(商品编号) spbh,trim(生产厂商) sccj,trim(剂型) jx,trim(商品类型) spfl,trim(商品类型) jyfw from 商品资料@TEST; begin -- 增加资料处理字段 -- alter table zl_spzlb add (bzdw VARCHAR2(255)); -- alter table zl_spzlb add (sccj VARCHAR2(255)); -- alter table zl_spzlb add (jx VARCHAR2(255)); -- alter table zl_spzlb add (spfl VARCHAR2(255)); -- For 循环逐条插入记录 for temp in cur loop spbh :=temp.spbh; sccj :=temp.sccj; jxname :=temp.jx; spfl :=temp.spfl; jyfw :=temp.jyfw; select trim(是否同步) into is_tb from 商品资料@TEST where trim(商品编号)=spbh ; Dbms_Output.put_line('--打印is_tb--'||is_tb||'--编号--'||spbh); -- If 判断单条条件处理 if is_tb =1 then Dbms_Output.put_line('--发现未同步商品--'||spbh); Dbms_Output.put_line('--厂家--'||sccj); Dbms_Output.put_line('开始插入数据'); --插入商品资料 insert into zl_spzlb (resid,bh,spbh,name,sptym,slv,pzwh,spcd,cctj,is_zdyh,is_ty,bzdw,spgg,sccj,jx,spfl) select seq_acl_res_resid.nextval,trim(商品编号),trim(商品编号),trim(商品名称),trim(通用名), trim(税率),trim(批准文号),trim(产地), decode(trim(储存条件),'密封,置阴凉处','阴凉、暗凉(密闭,遮光)','密封','阴凉、暗凉(密闭,遮光)', '密封,置阴凉处(不超过20°)','阴凉、暗凉(密闭,遮光)','遮光','阴凉、暗凉(密闭,遮光)','阴凉', '阴凉、暗凉(密闭,遮光)','常温','常温(干燥0℃-30℃)','冷藏','冷藏(2℃-10℃)','其他'), decode(trim(养护措施),'普通养护',2,'重点养护',1),decode(trim(是否停用),'否',2,'是',1),trim(单位), trim(规格),trim(生产厂商),trim(剂型), trim(商品类型) from 商品资料@TEST where trim(商品编号)=spbh; --插入包装资料 Dbms_Output.put_line('--商品--'||spbh); insert into zl_bzggzlb(bzid,spid,jlgg,is_hd,name) select seq_zl_bzggzlb_bzid.nextval,a.resid,1,1,a.bzdw from zl_spzlb a where a.spbh=spbh; --更新 update zl_spzlb a set (a.lsbzid,a.pfbzid)=(Select b.bzid,b.bzid From zl_bzggzlb b Where a.resid=b.spid and a.spbh=spbh) where a.spbh =spbh; end loop; commit; --for 循坏结束 end insertspzl; ``` 游标循环不允许再 遍历游标的时候 有insert的操作,并且执行了commit 但是如果commit 放在循化外面 会在获取 商品资料@TEST 第二行记录插入时候 --插入包装资料 在这一块把第一次生产的数据带出来重复插入 导致 --更新 这一块没办法进行 返回多行 如何去隔离上一次循环 不影响下一次并且最后提交都提交 求大大们指教
oracle 游标
请问在[b]oracle[/b]中如何指定游标打开的时候是READ_ONLY的? oracle中定义的游标默认就是FORWARD_ONLY的,这个说法正确吗?
oracle存储过程返回游标集。。。写了半天没搞定,oracle大神帮帮我
需要查询某个表(tablename)参数,一段时间(开始日期到结束日期)的count数。 我自己想法是声明一个游标来遍历开始日期到结束日期,把每一天的count和这天的日期都装到另一个游标里(我不知道怎么写出返回游标装个对象这种)。最烦的就是有个条件需要把18点以后的数据算到第二天。也就是说如果数据时间为2017/8/22 18:00,那这条数据的时间应该是2017/8/23。所以很麻烦,拜托oracle大神帮帮我!!! 反正最后的结果是: 2017-8-19 52 2017-8-20 45 2017-8-21 56 2017-8-22 12 这个时间也不是固定的,也是参数,最好还是排下序,谢谢!!!
关于oracle 游标的 问题
我现在有两个表: 表a中的字段:ID,BJNO,Name,Datatime,type; 表b中的字段:ID,BJNO,Name,startdatatime,enddatatime,time_difference; 现在b表是空的,a表中有数据。 a表中的数据规则为: id唯一。bjno,name 对应,但是存在多条 bjno,name 相同的记录。type 只有两个值,一个是2,一个是5,5代表开始时间,2代表结束时间。 我现在的希望是,能够将这些记录,每一次的开始时间和结束时间对应起来。 a 表示例 ID BJNO name datatime type 1 Bj0001 1号报卷 2013-1-1 5 2 Bj0001 1号报卷 2013-1-2 2 3 Bj0002 2号报卷 2013-1-3 5 4 Bj0001 1号报卷 2013-1-4 5 5 Bj0002 2号报卷 2013-1-5 2 我希望可以 通过游标或其他oracle方式实现下面的内容: 当 type 是5的时候,把a表 BJNO,Name,Datatime 分别记录到 b表的BJNO,Name,startdatatime。 当 type 是2的时候,把a表 Datatime 记录到 先前 插入 到b 表中的记录(先前最后插入b表且bjno可以对应上的记录)中的 enddatatime 中。 结果 b 表示意 ID BJNO name startdatatime enddatatime time_difference 1 Bj0001 1号报卷 2013-1-1 2013-1-2 1 2 Bj0002 2号报卷 2013-1-3 2013-1-5 2 3 Bj0001 1号报卷 2013-1-4 当天减去 2013-1-4 游标我不是太懂,求高人指教
oracle带游标的存储过程列子
oracle带游标的存储过程列子简单点, 能用就行。主要是实现将一个表中的一个字段当条件使用
Oracle数据库游标的小问题
SQL> create table aaa( 2 id number primary key not null, 3 name varchar(10) unique not null, 4 sex varchar(2) not null, 5 dept varchar(20) not null) ; 已经插入3个男生,2个女生,都是计算机专业的 现在创建一 个显式游标使其指向这个结果集,然后利用游标将院系修改为“软件”。 求具体代码.只是在网上看了一些例子,但是用起来都不对
ORACLE获取结果集的同时更新数据,该如何实现
公司现有的一个项目,数据都存在ORACLE里面的,其中一个表是存储流水信息的,由一个程序负责写入数据另一个程序进行读取并更新状态,现在需要提高读取速度,拟将读取改成多线程的读取,该如何处理? 为确保效率和避免重复读取,我考虑了以下方案: 1.通过package实现返回结果集,并把这些结果集的记录直接记为已读取:这样操作使整个读取只需更新一次状态,但实现时发现,采用游标读取了这些记录后,再根据游标对这些数据的状态进行更新会导致游标移动到结果集末端,读取不出数据; 2.使用一个随机状态值作为待取状态,用函数或存储过程通过游标读取待取状态的数据,读取成功后,更新这些数据状态为已读取:这样操作比上一个方案多了一倍的更新操作和一个确认随机状态值不在表中的操作,流程明晰,但比较占用资源。 个人对ORACLE了解不深,对于这样的需要频繁读写和更新状态的数据库操作,如何处理才比较恰当?我设想的方案1是否无法实现,方案2可以改进吗?
在Oracle中使用游标的%FOUND属性会不会导致游标移动?
在Oracle中使用游标的%FOUND属性会不会导致游标移动?
数据库中释放游标与关闭游标
1. 在不同数据库中会用到游标,有的写法中直接到“关闭游标”就结束了,有的需要“释放游标”,请问大神们在什么情况下需要释放游标,请结合具体的oracle、mysql和sql server数据库进行详细介绍一下。 2. 可以提供一下在不同数据库中具体使用的例子 。
oracle 存储过程 游标
lz 最近公司要求做一些数据预警功能。 比如说 tablea id name date 1 张三 2013-01-01 2 李四 2013-02-01 3 张三 2013-02-01 4 张三 2013-10-01 5 李四 2012-01-01 6 李四 2012-02-01 业务要求, 用存储过程或者真接SQL语句实现! 同一个人 日期相近的数据(比如日期间隔1个月吧) 读取出来! 以上的表读取出的内容为 tableb id name date 1 张三 2013-01-01 2 张三 2013-02-01 3 李四 2012-01-01 4 李四 2012-02-01 我现在的想法是 存储过程 通过游标 读取相同的人 所有记录 然后每条对比,日期间隔小于一个月的记录其ID 最后通过 ID再读取内容! 但在用游标时 不会读取游标下一行的内容! 请教各位大神,这个业务该怎么实现? 或者有什么更好的方式实现?
oracle中触发器与游标和包的联合问题。
1.创建临时表stu_temp。(临时表结构要和关联表结构一致) 2.创建一个包,包含两个存储过程,stu_insert用于在行级触发器中调用,往stu_temp临时表中装载更新或插入的记录。而stu_count用于在语句级触发器中检查人数是否超限。 3.创建行级触发器stu_in,目的是把更新后的记录插入stu_temp。 4.创建语句级触发器stu_cou,使用游标从stu_temp中逐条读取更新或插入的记录,取sno,在关联表stu中查找所有匹配学生的人数进行统计。若人数超过5人则抛出异常。如果检查通过,则清空临时表。 **基表与临时表已经创建好,请问后续问题的语句该怎样写?诚谢啦~** 语句如下: create table stu(sno varchar2(6) not null,sname varchar2(6) not null,ssex varchar2(2)not null,sage number(6) not null); create clobal temporary table stu_temp(sno varchar2(6) not null,sname varchar2(6) not null,ssex varchar2(2)not null,sage number(6) not null);
求助诸君:EF调用Oracle包中带游标的存储过程
大家好,项目开发时遇到了瓶颈,是关于EF6调用Oracle包中带游标的存储过程,小弟尝试了N遍后,还是百试不得其解,望诸君助小弟一臂之力。 Oracle packages如下: ![](https://img-ask.csdn.net/upload/201512/28/1451312377_232063.png) ![](https://img-ask.csdn.net/upload/201512/28/1451312405_277926.png) --------------分割线----------------------------- Oracle package bodies如下: ![](https://img-ask.csdn.net/upload/201512/28/1451312422_352104.png) ----------------------分割线----------------------------- 这是ADO.NET跑的存储过程,完全没问题的。只是EF中调用我不会。 ![](https://img-ask.csdn.net/upload/201512/28/1451312436_834128.png) ----------------------分割线----------------------------- 这是EF中的代码 ![](https://img-ask.csdn.net/upload/201512/28/1451312452_31799.png) ----------------------分割线----------------------------- 我是知道oracle 存储过程sql窗口是用begin end,命令窗口是exec的,我的存储过程应该是没写错的。 望诸君如果有用过EF调用Oracle包中带游标的存储过程案例代码的, 希望能分享下经验,学习下,能贴代码最好,真心谢谢了。
使用oracle带参数游标问题
GOODS 商品表![图片说明](https://img-ask.csdn.net/upload/201502/04/1423056329_347974.png) 已有数据: ![图片说明](https://img-ask.csdn.net/upload/201502/04/1423057056_631507.png) CATEGORY表![图片说明](https://img-ask.csdn.net/upload/201502/04/1423056629_663749.png) 已有数据![图片说明](https://img-ask.csdn.net/upload/201502/04/1423056689_453002.png) PL/SQL 代码: DECLARE V_GOODS GOODS%ROWTYPE; --存放商品表记录 V_CATEGORYID CHAR(32); --商品类别ID /*根据指定商品类别ID查询出该类别下商品价格最低的商品记录*/ CURSOR CUR_GOODS(CATEGORYID VARCHAR) IS SELECT * FROM (SELECT * FROM GOODS G WHERE G.CATEGORYID=CATEGORYID ORDER BY G.PRICE ASC) WHERE ROWNUM<2; BEGIN V_CATEGORYID:='3f3a26cc227048a2b703de4b7581amkd'; OPEN CUR_GOODS(V_CATEGORYID); FETCH CUR_GOODS INTO V_GOODS; IF CUR_GOODS%FOUND THEN dbms_output.put_line(V_GOODS.GOODSNAME||','||V_GOODS.PRICE||','||V_GOODS.CATEGORYID); END IF; CLOSE CUR_GOODS; END; 个人觉得应输出:Galaxy s4,4000.25,3f3a26cc227048a2b703de4b7581amkd 实际输出:李宁运动服,250.36,3f3a26cc227048a2b703de4b7581dmku 为什么呢? 在你们的电脑里测试会输出什么呢?
三重For游标循环调优问题
一个函数里使用了三重For游标循环,但是执行效率太慢,十几个小时都执行不完。代码框架如下所示: for x in (select * from bc2) loop for y in (select * from temp) loop for z in (select * from disTemp) loop v_num := z.CODE; end loop; end loop; end loop; end; / 第一重循环由十几万条,第二重和第三重都分别有二十几万条。现在想让它能在几分钟内完成,已试过临时表、fetch bulk collect into,执行仍是很慢!请精通oracle的大神来帮帮忙~~~~~~~
Python通过cx_Oracle调用过程,过程中的OUT游标怎么在Python中打开?怎么把游标中的列名提取出来?
调用数据库中包中的一个过程,过程头如下: ``` PROCEDURE RAITO(RETURNDS OUT REDATASET.DS, 其余IN参数 ) AS ``` 然后在Python中想用DataFrame格式显现出来,搞了半天,代码如下: ``` import cx_Oracle import pandas as pd conn = cx_Oracle.connect('mycredit/CREDIT12345@PICC_shengchan') cur = conn.cursor() i_cur = cur.var(cx_Oracle.CURSOR) zz = cur.callproc("RAITO",[i_cur, '其余IN参数']) rs = pd.DataFrame(zz) result = [] for i in range(len(rs.T)): result.append(rs[i][0]) rs2 = pd.DataFrame(result) print (rs2) ``` 结果如下: ![图片说明](https://img-ask.csdn.net/upload/201812/11/1544500592_598626.png) 有两个问题问下各位大佬: 1. ORACLE中RETURNDS(既有结果的游标)已经传入了I_CUR,各位可以看到我先把结果放到list中,再通过循环得到了上述结果,有没有比较方便的方法可以直接通过I_CUR得到结果? 2. 平常在用游标的时候我都会通过如下方法得到列名: ``` columnnames = [] for field in cursor.description: columnnames.append(field[0]) ``` 可是我在上面的列子中用如下代码的时候,就会出现错误: ``` print(i_cur.description) ``` AttributeError: 'cx_Oracle.CURSOR' object has no attribute 'description' 如果是这样的话,我怎么能取到数据库游标中的列名呢?(既RETURNDS游标中的列名)
oracle事务commit之后游标是否会自动关掉呢?
看了公司前辈的代码,declare一个游标,分批次commit,然后关掉循环,commit,直接end了,忘了关游标,结果安全走完了没报错,放在工程里也安全走下来了没报错。我自己写的是在打开游标之前先判断游标是否开着,如果开着就先关闭再打开,其余的步骤同上,结果也是没报错。这是为什么呢?commit后就不需要手动关闭游标吗?
有关oracle pl/sql编程中游标和循环的问题
题目: 使用循环和游标实现,查询部门编号为10的员工信息,将查询结果按照员工编号从大到小的顺序排列,输出倒数第二行记录。 我的代码: ``` declare empler emp%rowtype; i number:=0; n number; cursor emp_2 is select * from emp where deptno=10 order by empno desc; begin select count(*) into n from emp where deptno=10; open emp_2; fetch emp_2 into empler; loop i:=i+1; if i=n-1 then dbms_output.put_line('hh'); end if; fetch emp_2 into empler; exit when emp_2%notfound; end loop; end; ``` 错误报告: ORA-06550: 第 7 行, 第 50 列: PL/SQL: ORA-00911: 无效字符 ORA-06550: 第 7 行, 第 3 列: PL/SQL: SQL Statement ignored 06550. 00000 - "line %s, column %s:\n%s" *Cause: Usually a PL/SQL compilation error. *Action: 请问哪里出错了?用这样的方法行的通吗?不行的话用什么方法?
oracle存储过程使用游标的问题
create or replace procedure test3( templete_id in varchar2 ) as t_id_tmp varchar2(50); ty_id_tmp varchar2(50); cursor type_cur is select t1.id as type_id,t1.type_name from t_type t1,t_templete_link t2,t_templete t3 where t1.id = t2.type_id and t2.templete_id = t3.id and t3.id = templete_id; -- n number; begin select sys_guid() into t_id_tmp from dual; --复制模板信息 insert into t_templete select t_id_tmp as id, t.templete_name from t_templete t where t.id = templete_id; commit; dbms_output.put_line(templete_id); --复制类别信息 -- declare begin for type_rec in type_cur loop -- n:=n+1; -- dbms_output.put_line(1); select sys_guid() into ty_id_tmp from dual; insert into t_type select ty_id_tmp as id, type_rec.type_name from dual; -- from t_type t2 -- where t2.id = type_rec.type_id; -- commit; insert into t_templete_link select sys_guid() as id,t_id_tmp as TEMPLETE_ID ,ty_id_tmp as type_id from dual; -- t_templete_link t2 --where t2.templete_id = templete_id; commit; end loop; end; --dbms_output.put_line(t_id_tmp); exception when others then Rollback; end test3; 如果我传入的参数templete_id=1,我的t_cur循环的时候循环了3次。 但如果游标中的变变量templete_id 替换成 ‘1’就循环2次 这才是正常结果为什么
oracle plsql编程有没有可以自由滚动的游标
oracle plsql编程有没有可以自由滚动的游标? 比如有一个需求,一个cursor遍历n笔记录,需要取n笔记录中的某一个字段做两两循环比较.不知道该如何实现,不知道有没有可以自由滚动的游标呢?欢迎围观,欢迎提供参考思路,感恩!
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
有哪些让程序员受益终生的建议
从业五年多,辗转两个大厂,出过书,创过业,从技术小白成长为基层管理,联合几个业内大牛回答下这个问题,希望能帮到大家,记得帮我点赞哦。 敲黑板!!!读了这篇文章,你将知道如何才能进大厂,如何实现财务自由,如何在工作中游刃有余,这篇文章很长,但绝对是精品,记得帮我点赞哦!!!! 一腔肺腑之言,能看进去多少,就看你自己了!!! 目录: 在校生篇: 为什么要尽量进大厂? 如何选择语言及方...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
英特尔不为人知的 B 面
从 PC 时代至今,众人只知在 CPU、GPU、XPU、制程、工艺等战场中,英特尔在与同行硬件芯片制造商们的竞争中杀出重围,且在不断的成长进化中,成为全球知名的半导体公司。殊不知,在「刚硬」的背后,英特尔「柔性」的软件早已经做到了全方位的支持与支撑,并持续发挥独特的生态价值,推动产业合作共赢。 而对于这一不知人知的 B 面,很多人将其称之为英特尔隐形的翅膀,虽低调,但是影响力却不容小觑。 那么,在...
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
白话阿里巴巴Java开发手册高级篇
不久前,阿里巴巴发布了《阿里巴巴Java开发手册》,总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过在时间中总结模式,并推广给广大开发人员,来避免研发人员在实践中容易犯的错误,确保最终在大规模协作的项目中达成既定目标。 无独有偶,笔者去年在公司里负责升级和制定研发流程、设计模板、设计标准、代码标准等规范,并在实际工作中进行...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
redis分布式锁,面试官请随便问,我都会
文章有点长并且绕,先来个图片缓冲下! 前言 现在的业务场景越来越复杂,使用的架构也就越来越复杂,分布式、高并发已经是业务要求的常态。像腾讯系的不少服务,还有CDN优化、异地多备份等处理。 说到分布式,就必然涉及到分布式锁的概念,如何保证不同机器不同线程的分布式锁同步呢? 实现要点 互斥性,同一时刻,智能有一个客户端持有锁。 防止死锁发生,如果持有锁的客户端崩溃没有主动释放锁,也要保证锁可以正常释...
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
Nginx 原理和架构
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
Python 编程开发 实用经验和技巧
Python是一门很灵活的语言,也有很多实用的方法,有时候实现一个功能可以用多种方法实现,我这里总结了一些常用的方法和技巧,包括小数保留指定位小数、判断变量的数据类型、类方法@classmethod、制表符中文对齐、遍历字典、datetime.timedelta的使用等,会持续更新......
YouTube排名第一的励志英文演讲《Dream(梦想)》
Idon’t know what that dream is that you have, I don't care how disappointing it might have been as you've been working toward that dream,but that dream that you’re holding in your mind, that it’s po...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
Java世界最常用的工具类库
Apache Commons Apache Commons有很多子项目 Google Guava 参考博客
相关热词 c# 图片上传 c# gdi 占用内存 c#中遍历字典 c#控制台模拟dos c# 斜率 最小二乘法 c#进程延迟 c# mysql完整项目 c# grid 总行数 c# web浏览器插件 c# xml 生成xsd
立即提问