- 浏览: 208762 次
- 性别:
- 来自: 江西
文章分类
- 全部博客 (109)
- C# (29)
- ASP.NET (30)
- MSSQL (29)
- javascript (9)
- cmd (3)
- ORACLE (4)
- log4j (1)
- window (5)
- FTP (1)
- Shell (1)
- java (1)
- IIS (7)
- html (11)
- SQL (3)
- Jquery (11)
- IE (3)
- 火狐、谷歌 (2)
- wince (2)
- JSON (5)
- List (1)
- Foreach (1)
- SQLhelper (1)
- Ajax (1)
- Firebird (1)
- mysql (7)
- js (2)
- jQuery.autocomplete (1)
- dataTable (1)
- Http (1)
- get (1)
- datetime (1)
- powshell (1)
- URL Protocol (1)
- Office (1)
- Excel (1)
- ASP.NET,算法,秘钥 (1)
- 浏览器 (1)
- Tomcat (1)
最新评论
oracle、sqlserver不支持insert into t(x) values (),(); 只有mysql支持 insert into t(x) values (),(); insert all 遇到 sequence 当insert all 遇到 sequence 这几天在修改商函2.0中相关的PL/SQL包代码时,在实现这样一个SQL时: insert all into bo(object_name,sn) values(object_name,seqkey) into co(object_name,sn) values(object_name,seqkey) select object_name ,sq1.nextval from ao ORACLE 报ORA-02287错,原因是INSERT ALL 需要插入多表,但SELECT部分的SEQUENCE不允许一次SELECT多值,解决方案有两个: 方法一:编一个函数,将获取sq1.nextval的过程写在函数中,再在select 部分引用函数,如下: create or replace function f_getseqkey return number is result number; begin select sq1.nextval into result from dual ; return result ; end; SQL:insert all into bo(object_name,sn) values(object_name,seqkey) into co(object_name,sn) values(object_name,seqkey-1) select object_name ,f_getseqkey() seqkey from ao; 说明:这里有个-1的行为,研究发现,在插入多表时,实际上后面的SELECT是有做两次NEXTVAL行为的,而为了确保两个INTO插入同样的序列值,则人为进行-1插作,这个方案的后果是会多用序列值,在插入更多表的情况下,可能造成应用键值紧张,另外额外调用函数,性能也会下降。 方法二: SQL:insert all into bo(object_name,sn) values(object_name,sq1.nextval) into co(object_name,sn) values(object_name,sq1.nextval) select object_name from ao 这个方法最好,无需定义函数,也不多用序列,性能也好, 现象:在两个INTO中都使用了NEXTVAL,但能确保是相同的值吗?答案是OK,因为INSERT ALL 到多表,在ORACLE看来是同一SQL,即类同:SELECT SEQ.NEXTVAL,SEQ.NEXTVAL FROM DUAL这样的SQL,同一SQL中多次调用同一序列,值相同。但如果在同一SQL中多次调用这个自定义函数,则会获得不同的值。 部分来自于:http://blog.csdn.net/xuxurui007/article/details/7692065
发表评论
-
MYSQL数据库表出现死锁的情况,调查哪句sql死锁
2017-04-28 17:56 481MYSQL 执行 SHOW PROCESSLIST; 如 ... -
关于distinct 和group by的去重逻辑浅析
2016-05-20 11:06 934在数据库操作中,我们常常遇到需要将数据去重计数的工作。例如: ... -
mysql和mssql关键字key的转义
2016-05-20 10:30 751mysql反引号``,它在键盘的~这个键上,SqlServer ... -
mysql一条语句判断是否存在记录,有更新,没有插入
2016-03-14 16:43 1171mysql一条语句判断是否存在记录,有更新,没有插入 INS ... -
获取岗位信息
2016-02-15 09:17 555CREATE DEFINER=`root`@`%` FUNCT ... -
获取技能信息
2016-02-15 09:17 490CREATE DEFINER=`root`@`%` FUNCT ... -
递归获取课程体系树
2016-02-15 09:12 540-- 功能:课程体系树 -- 参数: 租户ID,权限类型 ... -
SQL几种分页语句性能对比
2014-03-07 10:35 450SET STATISTICS IO ON select * ... -
MSQL2005以上对象名sysproperties 无效的错误
2014-03-03 11:59 1364在MSSQL2008R2里面执行的时候报错:对象名syspro ... -
IN和EXISTS性能上的区别
2014-02-24 16:46 776在外表大内部小的情况下,EXISTS性能比IN快,如果两个表的 ... -
SQL Server 2000 ——系统表和系统视图
2014-02-17 10:26 1137一、一般存储过程 1、 ... -
新增链接服务器
2014-02-17 10:19 722新增链接服务器 if exists (select * fro ... -
在MSSQL2000里面 对象名 'sys.servers' 无效 服务器: 消息 208,级别 16,状态 1,行 1
2014-02-17 10:12 3147在MSSQL2000里面不支持该 sys.servers查看 ... -
SQL SERVER2008数据库中创建和删除链接服务器
2014-02-11 13:43 4977--在SQL SERVER 2008里,可以按以下的方式建立链 ... -
SQL Server获取某月某季某年最后一天的SQL语
2013-11-25 20:26 1306项目中用到的,获取已知年份的第一天和最后一天,觉得网来的不错, ... -
SQL IO、性能
2013-08-30 09:04 936转载地址:http://blog.csdn.n ... -
sql中两个日期相减
2013-08-21 13:36 8719sql中两个日期相减 1、相差天数 select trun ... -
SET STATISTICS IO ON和获取表中的所有行
2013-08-14 11:58 641SET STATISTICS IO ON --通过来查看扫描 ... -
SQL CAST和CONVERT区别
2013-08-09 09:06 648一种数据类型的表达式转换为另一种数据类型的表达式。 CAS ... -
图表处理程序配置 [c:\TempImageFiles\] 中的临时目录无效
2013-07-24 11:15 3651图表处理程序配置 [c:\TempImageFiles\] 中 ...
相关推荐
MySQL INSERT语句允许插入多行数据,如下所示: INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9); 那么要实现批量插入,主要的任务就是按照列顺序,把数据组装成上述格式即可,可以使用sprintf和...
1.规范一些使用插入语句的小规范 1)中文字符串前 最好 加一个N ...3.多行一条语句插入多行 insert into 表名 ([列1],[列2]) select ‘值1′,’值2’ union all –这里呢,union 和 union all的 区别
11.1.4 由VALUES关键字插入多行数据 11.1.5 使用SELECT语句插入数据 11.1.6 通过视图插入数据 11.1.7 使用子查询插入数据 11.2 数据的更新操作 11.2.1 UPDATE语句的基本语法 11.2.2 使用UPDATE语句更新指定的列值 ...
如果我们想查询跟索引有关的数据字典时,可以用下面这条SQL语句: SQL>select * from dictionary where instr(comments,'index')>0; 如果我们想知道user_indexes表各字段名称的详细含义,可以用下面这条SQL语句:...
向输入表中的记录:(每个表最少5条记录,其中一条是与自己相关的真实记录) 1.7思考题: 1. 从用户角度看,数据库系统都有哪些体系结构? 2. 数据库管理系统通常由哪几部分组成? 3. 如何用SQL语句完成上述的工作? ...
INSERT语句用于插入数据,UPDATE语句用于修改数据,DELETE语句用于删除数据。 (3)数据库查询语言(Data Query Language,DQL) 数据库查询语言主要用于查询语言,也就是指SELECT语句。 SELECT语句查询数据库中的一...
行触发器和语句触发器的区别表现在:行触发器要求当一个DML语句操走影响数据库中的多行数据时,对于其中的每个数据行,只要它们符合触发约束条件,均激活一次触发器;而语句触发器将整个语句操作作为触发事件,当它...
INSERT语句用于插入数据,UPDATE语句用于修改数据,DELETE语句用于删除数据。 (3)数据库查询语言(Data Query Language,DQL) 数据库查询语言主要用于查询语言,也就是指SELECT语句。 SELECT语句查询数据库中的一...
1.6 INSERT语句 14 1.6.1 单表插入 14 1.6.2 多表插入 15 1.7 UPDATE语句 17 1.8 DELETE语句 20 1.9 MERGE语句 22 1.10 小结 24 第2章 SQL执行 25 2.1 Oracle架构基础 25 2.2 SGA-共享池 27 2.3 库高速...
foreign key:外键,指定该列记录属于主表中的一条记录,参照另一条数据 check:检查,指定一个表达式,用于检验指定数据 MySQL不支持check约束,但可以使用check约束,而没有任何效果; 根据约束数据列限制,约束...
400个插件,下面的详细列表: mxp/ColdFusion中的Include mxp/80多个国家的一个下拉菜单,在某些时候...很多朋友一定都想不打开客户端的默认邮件程序来发送email吧,这个插件就是插入一个这样的超连接。适用于报告站
7.如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使用Select语句。 8.使用Describe命令可以显示表的结构信息。 9.使用SQL*Plus的Get命令可以将文件检索到缓冲区,并且不执行。 10.使用Save命令可以将...
注意: ExecuteNonQuery()方法主要用户更新数据,通常它使用Update,Insert,Delete语句来操作数据库,其方法返回值意义:对于 Update,Insert,Delete 语句 执行成功是返回值为该命令所影响的行数,如果影响的行数为0时...
检索返回数据的顺序没有特殊意义,为了明确地排序用 SELECT 语句检索出的数据,可使用 ORDER BY 子句。 ORDER BY 子句取一个或多个列的名字。 对空值,按无穷大处理(升序中,空值排最后;降序中排最前)。 1、...
2 隐式游标 所有的隐式游标都被假设为只返回一条记录。 使用隐式游标时,用户无需进行声明、打开及关闭。PL/SQL隐含地打开、处理,然后关掉游标。 例如: ……. SELECT studentNo,studentName INTO curStudentNo...
近期一个项目是将excel内容插到数据库中,插入以后要显示插入的数据条数,一直苦于没办法,后来研究execute发现这个方法是有返回参数的。 代码如下: CONN.EXECUTE(SQL,RowsAffected,C) 参数含义: SQL:值可以是SQL...
5) 当数据被插入表中的时候,表所需的空间就被分配了; 6. 变量的作用域和可见性 <<outer>> 1) 执行块里可以嵌入执行块; 2) 里层执行块的变量对外层不可见; 3) 里层执行块对外层执行块变量的修改会影响外层块...
即当一个对数据库的查询操作返回一组结果集时,用游标来标注这组结果集,以后通过对游标的操作来获取结果集中的数据信息。这里特别提出游标的概念,是因为它在PL/SQL的编程中非常的重要。定义游标的语法结构如下: ...
如果我们想查询跟索引有关的数据字典时,可以用下面这条SQL语句: SQL>select * from dictionary where instr(comments,'index')>0; 如果我们想知道user_indexes表各字段名称的详细含义,可以用下面这条SQL语句:...