请上传宽度大于 1200px,高度大于 164px 的封面图片
    调整图片尺寸与位置
    滚轮可以放大缩小图片尺寸,按住图片拖动可调整位置,多余的会自动被裁剪掉
取消
TINY(uid:3)
职业资格认证:尚未取得认证
[项目经理篇]要做的事情
1. 工作质量 50% 进度控制 成员管理 报告质量 创新性 项目总结 能力和态度 30% 团队能力 责任/主动心 内部沟通 外部沟通 学习能力 反馈意见 20% 成员反馈 客户反馈 2. 绝大部分项目经理首先追求完成项目产品的成功,其次才追求项目管理的成功 3. 客户哪边还要有一个质量管理.监控.,,方便测试文档和业务. 4. 简单明了的项目经理职责: http://www.cnblogs.com/zhuweisky/archive/2008/04/23/1166683.html 5. 项目经理评价因素: http://www.docin.com/p-49894250.html 项目经理的评价表格.参照各个因素. http://www.docin.com/p-49894250.html 各项指标的监控 以回款为导向的评价体系 6. 项目团队交流沟通非常流畅,项目组成员非常信任项目经理 协调项目组成员之间的关系非常恰当 项目经理乐意授权下给,培养新人 7. 善于与他人合作,与人沟通,做事积极主动,很强的责任心,其它方面的知识可以慢慢学
[ETL002]sqlserver对话oracle
15759 15760
[数据库技巧002]大神吐糟
数据库不仅仅是写一些sql语句,虽然说sql语句是大家平时接触最多的部分。 但是如果想真正用好数据库,这些是不够的, 比如说安全方面的机制你了解多少? 正确的备份恢复机制你了解多少? 怎么进行performance tuning你知道吗? 这两个产品在实现集群的时候有什么样的特点,有什么样的不同你了解多少? replication方面的东西你了解多少? 这两个产品有没有提供负载均衡的机制,提供了怎么去实现,有什么区别,如果没有提供,可以怎么样去变相实现,这些你了解多少? 怎么去避免注入漏洞? mssql和sqlserver里面数据物理存储结构是什么,有什么区别你了解多少? 聚集索引以及非聚集索引有什么区别,什么时候用那个,你了解多少? 或者说,你能准确的说明这两个产品的索引是靠什么数据结构去实现的吗,这个数据结构你了解多少?
[ETL001]中控考勤机数据获取方案
// 1.同达OA的连接方法没看明白 // http://blog.csdn.net/tao2581/article/details/7393967 // 2.JAVA连接中控考勤机器 // http://blog.csdn.net/yzj_work/article/details/8634553 // 3.JAVA调用dll资源 // http://www.iteye.com/blogs/tag/java%E8%B0%83%E7%94%A8dll // ZKProject工程是上面三个文章的结合体;通过 JAVA 调用 DLL,然后 获取数据. // // TINY方案:见下面 // 1.通过定时执行模板,触发模板中的JS,JS执行一个JSP文件,该文件执行 JAVA类,做到定时同步; // 分析过程见下面:脱机通讯开发包(32bit Ver6.2.4.1.)中的DEMO连接方法; // http://wenku.baidu.com/view/9f734a87b9d528ea81c7793e.html // -------------------------------------------------------------------------------------------------------- //.net 源码 连接机器代码: 发现重要的函数接口在:axCZKEM1.Connect_Net,这个存在于 SDK的一个dll文件中; private void btnConnect_Click(object sender, EventArgs e) { if (txtIP.Text.Trim() == "" || txtPort.Text.Trim() == "") { MessageBox.Show("IP and Port cannot be null", "Error"); return; } int idwErrorCode = 0; Cursor = Cursors.WaitCursor; if (btnConnect.Text == "DisConnect") { axCZKEM1.Disconnect(); bIsConnected = false; btnConnect.Text = "Connect"; lblState.Text = "Current State:DisConnected"; Cursor = Cursors.Default; return; } bIsConnected = axCZKEM1.Connect_Net(txtIP.Text, Convert.ToInt32(txtPort.Text)); if (bIsConnected == true) { btnConnect.Text = "DisConnect"; btnConnect.Refresh(); lblState.Text = "Current State:Connected"; iMachineNumber = 1;//In fact,when you are using the tcp/ip communication,this parameter will be ignored,that is any integer will all right.Here we use 1. axCZKEM1.RegEvent(iMachineNumber, 65535);//Here you can register the realtime events that you want to be triggered(the parameters 65535 means registering all) } else { axCZKEM1.GetLastError(ref idwErrorCode); MessageBox.Show("Unable to connect the device,ErrorCode=" + idwErrorCode.ToString(), "Error"); } Cursor = Cursors.Default; } 15757
[SQLSERVER]
本帖最后由 TINY 于 2014-10-24 11:30 编辑 http://blog.csdn.net/e_online/article/details/6387496 sqlserver几个可提高性能和适应大数据量的办法(存储优化) http://msdn.microsoft.com/zh-cn/library/ms345146%28SQL.90%29.aspx SQL Server 2005 中的分区表和索引 http://blog.csdn.net/dba_huangzj/article/details/8757945 表和分区索引 http://blog.csdn.net/dba_huangzj/article/details/8757958 表和索引分区2 http://blog.csdn.net/database/column.html 数据库博客索引 http://blog.csdn.net/column/details/sharding.html 数据库分区分表专区 http://msdn.microsoft.com/zh-cn/library/jj720568.aspx Sqlserver2012 dtsx包教程 http://msdn.microsoft.com/zh-cn/library/ms141134.aspx SSIS 2012教程 sqlserver数据库字符区分大小写重音问题 http://www.cfanz.cn/index.php?c=article&a=read&id=19970 Sqlserver 运行机制,各服务权限账户 http://blog.csdn.net/zjcxc/article/details/415711 sqlserver性能调优 http://blog.csdn.net/sqlserverdiscovery/article/details/7829772 SQLSERVER 删除大数据量 http://www.cnblogs.com/panchunting/archive/2013/04/27/SQL_Tech_001.html 了解xcpackage 进程状态 http://www.mssqltips.com/sqlservertip/2027/a-closer-look-at-cxpacket-wait-type-in-sql-server/ SQLSERVER 2008 CDC数据更改跟踪 http://www.cnblogs.com/studyzy/archive/2009/01/07/1370937.html Sqlserver 性能调优 http://www.cnblogs.com/Amaranthus/archive/2012/03/07/2383551.html#_Toc318916217 http://www.cnblogs.com/changbluesky/archive/2010/07/08/1761780.html http://www.cnblogs.com/biwork/p/3328879.html BIWORD天善智能 http://www.cnblogs.com/biwork/archive/2013/05/22/3093896.html SSAS表模式进行数据构建 http://www.cnblogs.com/biwork/p/3276455.html SSAS多维数据集模式进行构建 http://www.cnblogs.com/aspnetx/archive/2010/09/02/1815982.html http://www.cnblogs.com/aspnetx/archive/2010/03/06/1679896.html SSAS哥本哈奇系列 http://www.cnblogs.com/aspnetx/archive/2013/01/30/2883831.html 微软官方部暑2012数据他库教程 http://www.cnblogs.com/aspnetx/archive/2010/03/06/1679896.html 其它学习教程,很有价值 http://msftdbprodsamples.codeplex.com/Releases/ http://sqlserversamples.codeplex.com/ Sqlserver 相关数据库示例DEMO下载 http://msftdbprodsamples.codeplex.com/Releases/ http://www.wrox.com/WileyCDA/Section/id-400599.html?query=sql%20server&filter=books&page=1 上面这个是相关书籍教程附带的源带码文件 http://msdn.microsoft.com/zh-cn/sqlserver/bb671254 Sqlserver2005 sp3相关补丁下载 http://technet.microsoft.com/zh-cn/library/ms170208.aspx Sqlserver多维建模教程 http://technet.microsoft.com/zh-cn/library/ms170208.aspx http://technet.microsoft.com/zh-cn/library/hh403424.aspx 官方教程 http://blog.vsharing.com/hpj168/A1476565.html http://blog.vsharing.com/hpj168/A1476567.html 川北小哥的SSAS教程和MDX学习教程 http://msdn.microsoft.com/en-us/library/ms175669.aspx 多对多,引用维度的解释 http://blog.csdn.net/jinjazz/article/details/4053719 简单模型建立 http://blog.csdn.net/jinjazz/article/details/4058368 服务器发布 http://www.alixixi.com/program/a/2008050739614.shtml HTTP IIS 来该问 SSAS2005 SSAS优化查询注意点 http://blog.csdn.net/idonot/article/details/7312468 http://blog.csdn.net/idonot/article/details/7312479 SSAS设计最优实践 http://msdn.microsoft.com/zh-cn/vstudio/bb934106.aspx MDX这 SSAS性能调优 SSAS简要概述过程 http://www.360doc.com/content/11/1103/11/6075898_161305012.shtml SSAS存储设置官方教程 http://technet.microsoft.com/zh-cn/library/ms189695(v=sql.100).aspx 对主动缓存最形像的解释,个人博客 http://club.techtarget.com.cn/showtopic.aspx?forumid=38&topicid=51362&go=next 分列教程 http://rad.pasfu.com/index.php?/archives/38-Script-Component-as-Source-SSIS.html 条件拆分 http://technet.microsoft.com/zh-cn/library/ms137886 字符串函数 http://technet.microsoft.com/zh-cn/library/ms141671(v=sql.105).aspx 不等号的判定 http://technet.microsoft.com/zh-cn/library/ms141714(v=sql.105) SSIS最佳实践 http://wenku.baidu.com/view/0d991aec0975f46527d3e108.html http://www.cnblogs.com/xiongnanbin/archive/2013/03/22/2975276.html SSIS实用表达式 http://blog.csdn.net/incognito007/article/details/7538801
[ORACLE]
本帖最后由 TINY 于 2014-10-24 11:31 编辑 1.oracle_10G安装教程 http://www.jb51.net/article/18038.htm 2.oracle 11g 官方文档 http://docs.oracle.com/cd/E11882_01/index.htm 2.startup oracle service 起服务 lsnrctl startup  oradim -startup -sid demo 登录f sqlplus / as sysdba sqlplus tiny/lilyturf create table mytable(id int); 解锁用户并更改密码: alter user owbsys account unlock; alter user owbsys identified by Aa123456; 撤销 revoke create table from tiny; 查看有哪些权限 select * from user_sys_privs; 系统权限 select * from user_tab_privs; 对像权限 select * from user_col_privs; 列的权限 grant select on mytable to scott; 对像权限 commit;   提交内容 host cls; 清屏命令 grant select,insert on mytable to scott; 把所有的对像权限给一个用户 grant all on mytable to scott; 3个默认的用户 scott tiger system manager sys chang_on_install 系统权限 show user; create user tiny identified by lilyturf; grant create session to tiny; grant create table to tiny ; grant unlimited tablespace to tiny; 把创建表权限的给所有的用户 grant create any table to public;  把控制列的权限给另外一个用户 grant update(name) on mytab to tiny;   set linesize 400 同时调整CMD窗口的大小设置行的大小 disconn 断开连接 conn tiny/lilyturf 重新连接数据库,用这个用户名和密码 列的权限只能 控到  insert update 删除和查询只能到行,不能到单元格数据 注:提交生效的插入更新删除   要提交 查询  DDL  数据定义语言 DML  数据操作语言 DCL  数据控制语言  要提交,事务  commit; 权限的传递 例:A用户把 对像权限给 B,那么B能把A的权限 给C吗? grant alter any table to tiny with admin option; 带着管理的权限给一个用户,系统权限的传递。 grant select on mytable to tiny with grant option; 带着授权权限的指配给下一级的用户,对像权限传递 权限的传递   oracel 9 和 oracle 10 是不一样的,如果传递的权限从源头上断了,那么子节点上的权限还有吗? 不同的版本机制是不一样,这是一个好的问题 权限 基于角色的权限集合,角色就是权限的集合 create role myrole; grant create session to myrole; grant myrole to tiny; 把角色对应的权限给这个用户,然后可以统一管理角色 drop role myrole; 权限的传递 revoke的话 是不一样的,对其它的表的影响。 注意: 有些权限,系统权限无法直接给角色的 太大了 create table create any table alter any table 修改表和删除表这两个权限是没有的 可以给自已创建表,不仅可以 创建自已的表,可以创建其它人的表,any table 权限好大的 表是属于一个用户的,但是角色不论谁建的,都是大家共用的 ORACLE分三种验证机制: 操作系统验证: 密码文件验证: 数据库验证: sys就可以 数据库 没有启动的时候就可以进去了 linuX下先启动临听,然后 再要权限 来启动 实例 lsnrctl startup sqlplus sys/oracle as sysdba oracle 8,7 conn用户名和密码 startup windows下的启动过程 先启动临听,然后把实例启动 更改sys超级用户的密码 orapwd file= /PWDdemo.ora password=123234 entries =10 查看特权用户 select * from v$pwfile_users; 数据迁移: 1. 怎么把数据从一个远端数据库迁移到另外一个数据库中 http://yangtingkun.itpub.net/post/468/71345 ORACLE数据的转存储 http://www.itpub.net/forum.php?mod=viewthread&tid=523321 Oracle Mysql 集群 演示DEMO http://www.oracle.com/pls/ebn/swf_viewer.load?p_shows_id=11464419 15755 oracle连多维数据集的方法 http://blog.csdn.net/wujiandao/article/details/6729288
[MYSQL]
本帖最后由 TINY 于 2014-10-24 11:04 编辑 1.mysql查看存储过程 http://www.phperz.com/database/MySQL/0Q2361620113616.html 2.mysql定时器EVENT学习: http://www.jz123.cn/text/1134105.html 2.Event scheduler http://blog.163.com/wumingli456@ ... 414201082732227944/ 3.mysql学习教程 http://dev.mysql.com/doc/refman/ ... xample-foreign-keys 4.mysql安装 http://dev.mysql.com/doc/refman/ ... #default-privileges 5.mysql外键分析 http://www.qqread.com/mysql/z490998.html 6.mysql函数相关 http://baike.baidu.com/view/2140086.htm 7.MYSQL http://www.cnblogs.com/xiaochaoh ... /12/13/1904330.html 8.经典的BLOG http://www.opbo.net/category/e695b0e68daee5ba93.aspx?page=1 9.MYSQL的存储过程 http://wenku.baidu.com/view/3b40ae3a376baf1ffc4fad8a.html 10.MYSQL各个类型的函数 http://blog.csdn.net/beliy_27/article/details/5658216 11.MYSQL中各个类型的字段解释 http://www.chinaz.com/program/2009/0105/59154.shtml 12.MYSQL的绿色安装 mysqld -install mysql --defaults-file="D:\Appserv\MySQL\my.ini" D:\Program Files\mysql5.6.10\bin>mysqld -install mysql --defaults-file="D:\Program Files\mysql5.6.10\my.ini" 13.日期格式 %W 星期名字(Sunday……Saturday) %D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。) %Y 年, 数字, 4 位 %y 年, 数字, 2 位 %a 缩写的星期名字(Sun……Sat) %d 月份中的天数, 数字(00……31) %e 月份中的天数, 数字(0……31) %m 月, 数字(01……12) %c 月, 数字(1……12) %b 缩写的月份名字(Jan……Dec) %j 一年中的天数(001……366) %H 小时(00……23) %k 小时(0……23) %h 小时(01……12) %I 小时(01……12) %l 小时(1……12) %i 分钟, 数字(00……59) %r 时间,12 小时(hh:mm:ss M) %T 时间,24 小时(hh:mm:ss) %S 秒(00……59) %s 秒(00……59) %p AM或PM %w 一个星期中的天数(0=Sunday ……6=Saturday ) %U 星期(0……52), 这里星期天是星期的第一天 %u 星期(0……52), 这里星期一是星期的第一天 %% 一个文字“%”。
[项目还原]http://221.6.39.242:8096/0O0o0o0oooOOoo00000OOO.html
http://221.6.39.242:8096/0O0o0o0oooOOoo00000OOO.html
[数据库技巧001] MYSQL生成OS+日期+流水号::类似OARCLE的SEQUENCE
ORACLE序列 1. http://gghhgame51333.blog.51cto.com/138362/41210 MYSQL实现ORACEL的SEQUENCE 2. http://meetrice.iteye.com/blog/89426 实现OS20130422000008,,此类编号的序列方法:OS + 日期 + 自动补全流水号: -- 下面就是CURRRVAL的实现方案: DROP TABLE IF EXISTS sequence_varchar; CREATE TABLE sequence_varchar ( tabname VARCHAR(100) NOT NULL, current_value VARCHAR(100) NOT NULL, increment INT NOT NULL DEFAULT 1, PRIMARY KEY (tabname) ) ENGINE=InnoDB; INSERT INTO sequence_varchar VALUES ('testcodeseq','VM20130423000001',2); select * from sequence_varchar; -- sequence 语句 DROP FUNCTION IF EXISTS currval_varchar; DELIMITER $ CREATE FUNCTION currval_varchar (seq_name VARCHAR(100)) RETURNS varchar(100) CONTAINS SQL BEGIN DECLARE value2 varchar(100); SET value2 = null; SELECT current_value INTO value2 FROM sequence_varchar WHERE tabname = seq_name; RETURN value2; END$ DELIMITER ; -- 取得自增长的 incre DROP FUNCTION IF EXISTS currval_incre_int; DELIMITER $ CREATE FUNCTION currval_incre_int (seq_name VARCHAR(100)) RETURNS int CONTAINS SQL BEGIN DECLARE value3 int; SET value3 = 0; SELECT increment INTO value3 FROM sequence_varchar WHERE tabname = seq_name; RETURN value3; END$ DELIMITER ; select * from sequence_varchar; SELECT currval_varchar('testcodeseq'); SELECT currval_varchar('x'); show WARNINGS ; -- nextval DROP FUNCTION IF EXISTS nextval_varchar; DELIMITER $ CREATE FUNCTION nextval_varchar (seq_name VARCHAR(100)) RETURNS VARCHAR (100) CONTAINS SQL -- OS + 日期 + 6位流水号,不足补0 BEGIN DECLARE value2 VARCHAR (100) ; DECLARE datecur VARCHAR (8) ; DECLARE node VARCHAR (6) ; DECLARE os VARCHAR (2) ; DECLARE datenow VARCHAR (8) ; DECLARE cur INT ; SET value2 = currval_varchar (seq_name) ; -- 取得当前的号码 SET os = SUBSTRING(value2, 1, 2) ; -- 分解出前缀OS SET datecur = SUBSTRING(value2, 3, 8) ; -- 当年记录的日期 SET datenow = DATE_FORMAT(CURRENT_DATE(), '%Y%m%d') ;-- 现在的时间 SET node = SUBSTRING(value2, 11, 6) ; -- 6位流水号 SET cur = node ; -- 变成INT型 IF datecur = datenow THEN SET cur = cur + currval_incre_int(seq_name); ELSE SET cur = 1 ; END IF ; SET node = lpad(cur, 6, '0') ; SET value2 = concat(os, datenow, node) ; UPDATE sequence_varchar SET current_value = value2 WHERE tabname = seq_name; RETURN value2 ; END$ DELIMITER ; select nextval_varchar('testcodeseq'); select * from sequence_varchar; -- setval DROP FUNCTION IF EXISTS setval_varchar; DELIMITER $ CREATE FUNCTION setval_varchar (seq_name VARCHAR(50), value varchar(100)) RETURNS varchar(100) CONTAINS SQL BEGIN UPDATE sequence_varchar SET current_value = value WHERE tabname = seq_name; RETURN currval_varchar(seq_name); END$ DELIMITER ; -- 完结部分 -- 建表,测试功能用的表;日期编号+数字的组合 drop table if exists testcode; CREATE TABLE testcode( id INT NOT NULL AUTO_INCREMENT, namecode VARCHAR(100) NOT NULL, released YEAR NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB; INSERT INTO testcode (namecode,released) VALUES (nextval_varchar('testcodeseq'),2000); INSERT INTO testcode (id,namecode,released) VALUES (NULL,nextval_varchar('testcodeseq'),1998); select * from testcode; select * from sequence_varchar; -- 通过在上面的表注入表的名称,和起始编号,自增长 步长; INSERT INTO sequence_varchar VALUES ('testcodeseq','OS20130423000001',2); -- 修改对应表记录的编号 select setval_varchar('testcodeseq','OS201103020000005'); -- 查询对应表 下一步的 流水号 select nextval_varchar('testcodeseq'); -- 取得对应表 记录的编号 与 步长 select currval_varchar('testcodeseq'); select currval_incre_int('testcodeseq'); -- 测试备注:----- select SUBSTRING('os20130423000001',1,2),SUBSTRING('os20130423000001',3,8),SUBSTRING('os20130423000001',11,6), DATE_FORMAT(CURRENT_DATE(),'%Y%m%d'),lpad(98,6,'0') 效果图:
[报表技巧001]MAPARRAY()函数解决多对多形态显示
方法: =MAPARRY(split($$$,","),map(item,"ds2",1,2))效果图:见附件 底层表: mysql> select * from ehr_pre_order where id in (544,545,546); +-----+-----------+------------------+----------------+ | id | employ_id | order_class_date | order_class_id | +-----+-----------+------------------+----------------+ | 544 | 1 | 2013-05-03 | 2,3,4 | | 545 | 1 | 2013-05-04 | 4,5,6 | | 546 | 1 | 2013-05-05 | 2,3,4 | +-----+-----------+------------------+----------------+ 3 rows in set 显示格式: mysql> select * from ehr_class; +-----+------------+ | id | class_name | +-----+------------+ | 1 | A | | 2 | B | | 3 | C | | 4 | D | | 5 | E | | 6 | F | | 7 | G | | 8 | H | | 9 | I | | 10 | J | | 11 | K | | 12 | L | +-----+-----------+------------------+----------------+
[小技巧]MAPARRAY()函数解决多对多形态显示
数据库存储格式: mysql> select * from ehr_pre_order where id in (544,545,546); +-----+-----------+------------------+----------------+ | id | employ_id | order_class_date | order_class_id | +-----+-----------+------------------+----------------+ | 544 | 1 | 2013-05-03 | 2,3,4 | | 545 | 1 | 2013-05-04 | 4,5,6 | | 546 | 1 | 2013-05-05 | 2,3,4 | +-----+-----------+------------------+----------------+ 3 rows in set 显示格式: mysql> select * from ehr_class; +-----+------------+ | id | class_name | +-----+------------+ | 1 | A | | 2 | B | | 3 | C | | 4 | D | | 5 | E | | 6 | F | | 7 | G | | 8 | H | | 9 | I | | 10 | J | | 11 | K | | 12 | L | +-----+-----------+------------------+----------------+ 最终效果图:
[小技巧]MYSQL生成OS+日期+流水号::类似OARCLE的SEQUENCE
ORACLE序列 1. http://gghhgame51333.blog.51cto.com/138362/41210 MYSQL实现ORACEL的SEQUENCE 2. http://meetrice.iteye.com/blog/89426 实现OS20130422000008,,此类编号的序列方法:OS + 日期 + 自动补全流水号: -- 下面就是CURRRVAL的实现方案: DROP TABLE IF EXISTS sequence_varchar; CREATE TABLE sequence_varchar ( tabname VARCHAR(100) NOT NULL, current_value VARCHAR(100) NOT NULL, increment INT NOT NULL DEFAULT 1, PRIMARY KEY (tabname) ) ENGINE=InnoDB; INSERT INTO sequence_varchar VALUES ('testcodeseq','VM20130423000001',2); select * from sequence_varchar; -- sequence 语句 DROP FUNCTION IF EXISTS currval_varchar; DELIMITER $ CREATE FUNCTION currval_varchar (seq_name VARCHAR(100)) RETURNS varchar(100) CONTAINS SQL BEGIN DECLARE value2 varchar(100); SET value2 = null; SELECT current_value INTO value2 FROM sequence_varchar WHERE tabname = seq_name; RETURN value2; END$ DELIMITER ; -- 取得自增长的 incre DROP FUNCTION IF EXISTS currval_incre_int; DELIMITER $ CREATE FUNCTION currval_incre_int (seq_name VARCHAR(100)) RETURNS int CONTAINS SQL BEGIN DECLARE value3 int; SET value3 = 0; SELECT increment INTO value3 FROM sequence_varchar WHERE tabname = seq_name; RETURN value3; END$ DELIMITER ; select * from sequence_varchar; SELECT currval_varchar('testcodeseq'); SELECT currval_varchar('x'); show WARNINGS ; -- nextval DROP FUNCTION IF EXISTS nextval_varchar; DELIMITER $ CREATE FUNCTION nextval_varchar (seq_name VARCHAR(100)) RETURNS VARCHAR (100) CONTAINS SQL -- OS + 日期 + 6位流水号,不足补0 BEGIN DECLARE value2 VARCHAR (100) ; DECLARE datecur VARCHAR (8) ; DECLARE node VARCHAR (6) ; DECLARE os VARCHAR (2) ; DECLARE datenow VARCHAR (8) ; DECLARE cur INT ; SET value2 = currval_varchar (seq_name) ; -- 取得当前的号码 SET os = SUBSTRING(value2, 1, 2) ; -- 分解出前缀OS SET datecur = SUBSTRING(value2, 3, 8) ; -- 当年记录的日期 SET datenow = DATE_FORMAT(CURRENT_DATE(), '%Y%m%d') ;-- 现在的时间 SET node = SUBSTRING(value2, 11, 6) ; -- 6位流水号 SET cur = node ; -- 变成INT型 IF datecur = datenow THEN SET cur = cur + currval_incre_int(seq_name); ELSE SET cur = 1 ; END IF ; SET node = lpad(cur, 6, '0') ; SET value2 = concat(os, datenow, node) ; UPDATE sequence_varchar SET current_value = value2 WHERE tabname = seq_name; RETURN value2 ; END$ DELIMITER ; select nextval_varchar('testcodeseq'); select * from sequence_varchar; -- setval DROP FUNCTION IF EXISTS setval_varchar; DELIMITER $ CREATE FUNCTION setval_varchar (seq_name VARCHAR(50), value varchar(100)) RETURNS varchar(100) CONTAINS SQL BEGIN UPDATE sequence_varchar SET current_value = value WHERE tabname = seq_name; RETURN currval_varchar(seq_name); END$ DELIMITER ; -- 完结部分 -- 建表,测试功能用的表;日期编号+数字的组合 drop table if exists testcode; CREATE TABLE testcode( id INT NOT NULL AUTO_INCREMENT, namecode VARCHAR(100) NOT NULL, released YEAR NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB; INSERT INTO testcode (namecode,released) VALUES (nextval_varchar('testcodeseq'),2000); INSERT INTO testcode (id,namecode,released) VALUES (NULL,nextval_varchar('testcodeseq'),1998); select * from testcode; select * from sequence_varchar; -- 通过在上面的表注入表的名称,和起始编号,自增长 步长; INSERT INTO sequence_varchar VALUES ('testcodeseq','OS20130423000001',2); -- 修改对应表记录的编号 select setval_varchar('testcodeseq','OS201103020000005'); -- 查询对应表 下一步的 流水号 select nextval_varchar('testcodeseq'); -- 取得对应表 记录的编号 与 步长 select currval_varchar('testcodeseq'); select currval_incre_int('testcodeseq'); -- 测试备注:----- select SUBSTRING('os20130423000001',1,2),SUBSTRING('os20130423000001',3,8),SUBSTRING('os20130423000001',11,6), DATE_FORMAT(CURRENT_DATE(),'%Y%m%d'),lpad(98,6,'0') 效果图:
下载附件BUG
下载页面,一直刷新,一直扣分,扣了我 10几分(一个附件):D:D 提BUG有没有奖励啊
论坛BUG
25如图所示{:3_52:}
个人成就
内容被浏览14,255
加入社区13年70天
返回顶部