updated rows(sql update 字段+字符串)
本文目录
- sql update 字段+字符串
- Jquery easyui怎么得到datagrid里面的值和传到后台
- 如何快速获得SQL Server 表行数
- 如何update减少redo生成
- C#中 EasyUI datagrid数据传给后台 求前台后台代码
- ora sql 为什么会出现 0 rows updated
- sql 批量修改数据
sql update 字段+字符串
我用oracle测试了一下。发现结果显示:2 rows updated.但是select * from orderinfo;发现数据没有变化。继续:update orderinfo set orderId =’000’+orderId where length(orderId)=4 显示:2 rows updated.但是数据仍然没有变化...寻找问题中... 补充:问题解决了。我用的是:update orderinfo set orderid=concat(’000’,orderid) where length(orderid)=4; 再补充:在mysql中测试了下,相同的语句行得通。
Jquery easyui怎么得到datagrid里面的值和传到后台
var insertRows = $(’#test’).datagrid(’getChanges’,’inserted’); var updateRows = $(’#test’).datagrid(’getChanges’,’updated’); var deleteRows = $(’#test’).datagrid(’getChanges’,’deleted’); var changesRows = { inserted : , updated : , deleted : , }; if (insertRows.length》0) { for (var i=0;i《insertRows.length;i++) { changesRows.inserted.push(insertRows); } } if (updateRows.length》0) { for (var k=0;k《updateRows.length;k++) { changesRows.updated.push(updateRows); } } if (deleteRows.length》0) { for (var j=0;j《deleteRows.length;j++) { changesRows.deleted.push(deleteRows); } } $.ajax({ type: "post", url: "../stock/stock_modify.asp", data: "inserted="+JSON.stringify(changesRows.inserted)+"&updated="+JSON.stringify(changesRows.updated)+"&deleted="+JSON.stringify(changesRows.deleted), datatype: "json", success:function(data){} })以上是针对插入删除更新 操作
如何快速获得SQL Server 表行数
其实有两个办法可以快速的查询到SQL Server的表数据。1. sp_spaceused:其中有一列是rows,如果输入的表对象的话,那么就会获得这个表的行数,速度非常快。其中也有一个列为rowcnt,Counts the total number of inserted, deleted, or updated rows since the last time statistics were updated for the table 使用下面的语句:---replace the tablename when you use this scriptfrom sys.sysindexes where id =object_id(’tablename’) and indid in(0,1) 通过这个统计结果可能不是太准确,因为系统统计信息有个时间差
如何update减少redo生成
回答该问题其实非常的简单,花了20分钟做了如下简单的测试,供大家参考。 SQL》 CREATE TABLE killdb AS SELECT * FROM dba_objects; TABLE created. SQL》 SELECT COUNT(*) FROM killdb; COUNT(*) ---------- 50100 SQL》 SET autotrace traceonly statistics SQL》 SET LINES 150 SQL》 UPDATE killdb 2 SET wner=’www.killdb.com’ 3 WHERE object_id 》1000 AND object_id 《1200; 199 ROWS updated. Statistics ---------------------------------------------------------- 51 recursive calls 208 db block gets 798 consistent gets 0 physical reads 53908 redo SIZE 668 bytes sent via SQL*Net TO client 619 bytes received via SQL*Net FROM client 3 SQL*Net roundtrips TO/FROM client 1 sorts (memory) 0 sorts (disk) 199 ROWS processed 此时我们知道这个update语句会产生53908 byte的redo 日志。当然这个是sql未执行前就进行的计算, 如果要计算某个sql执行完毕以后所产生的redo size,我们还可以通过查询v$mystat试图获得结果,如下: SQL》 SET autot off SQL》 SELECT a.name, b.VALUE 2 FROM v$statname a, v$mystat b 3 WHERE a.statistic# = b.statistic# 4 AND a.name = ’redo size’; NAME VALUE --------------------- ---------- redo SIZE 5807132 SQL》 UPDATE killdb 2 SET wner=’www.killdb.com’ 3 WHERE object_id 》1000 AND object_id 《1200; 199 ROWS updated. SQL》 commit; Commit complete. SQL》 SELECT a.name, b.VALUE 2 FROM v$statname a, v$mystat b 3 WHERE a.statistic# = b.statistic# 4 AND a.name = ’redo size’; NAME VALUE --------------------- ---------- redo SIZE 5829644 SQL》 SELECT 5829644 - 5807132 FROM dual; 5829644-5807132 --------------- 22512 我们可以明显的看到,通过查询v$mystat 得出的结果跟前面通过看sql执行计划统计信息 结果有较大的差别,区别在哪儿呢? 这是session级别的,因为还涉及到一些递归的操作,也会产生redo,所以上面单纯的查询 session的redo产生大小,并不准确,我们应该查询整个db instacne的,如下: SQL》 CREATE TABLE killdb2 AS SELECT * FROM dba_objects; TABLE created. SQL》 ALTER system checkpoint; System altered. SQL》 ALTER system switch logfile; System altered. SQL》 SELECT name,VALUE FROM v$sysstat WHERE name = ’redo size’; NAME VALUE --------------------- ---------- redo SIZE 27301552 SQL》 UPDATE killdb2 2 SET wner=’www.killdb.com’ 3 WHERE object_id 》1000 AND object_id 《1200; 199 ROWS updated. SQL》 commit; Commit complete. SQL》 SELECT name,VALUE FROM v$sysstat WHERE name = ’redo size’; NAME VALUE --------------------- ---------- redo SIZE 27355556 SQL》 SELECT 27355556 - 27301552 FROM dual; 27355556-27301552 ----------------- 54004 我们可以看到,此时的54004 跟最开始的50100算是比较接近了。 SQL》 SELECT xidusn,xidslot,xidsqn,ubablk,ubafil,ubarec FROM v$transaction; no ROWS selected SQL》 SELECT ubafil,ubablk,start_ubablk,used_ublk FROM v$transaction; no ROWS selected SQL》 DELETE FROM killdb WHERE rownum 《 1000; 999 ROWS deleted. SQL》 SELECT xidusn,xidslot,xidsqn,ubablk,ubafil,ubarec FROM v$transaction; XIDUSN XIDSLOT XIDSQN UBABLK UBAFIL UBAREC ---------- ---------- ---------- ---------- ---------- ---------- 10 39 354 1256 2 26 SQL》 SELECT ubafil,ubablk,start_ubablk,used_ublk FROM v$transaction; UBAFIL UBABLK START_UBABLK USED_UBLK ---------- ---------- ------------ ---------- 2 1256 1229 28 SQL》 conn /AS sysdba Connected. SQL》 SELECT SUM(KTUXESIZ) 2 FROM x$ktuxe 3 WHERE KTUXEUSN=10 AND KTUXESLT=39 AND KTUXESQN=354; SUM(KTUXESIZ) ------------- 28 SQL》 SELECT 28*8192 FROM dual; 28*8192 ---------- 229376 从上我们可以看到该delete语句所产生的undo 大小是229376 BYTE。
C#中 EasyUI datagrid数据传给后台 求前台后台代码
呵呵。。。
前台js:
///修改datagrid后保存修改到数据库
function save(obj, url) {
obj = $(obj);
//变化的行集合
var insertRows, updateRows, deleteRows;
var allRows = obj.datagrid(’getRows’);
var rowIndex;
var updateFlag = true;//判断新增、修改的行数据是否都合法,都合法为true,否则false
for (var i = 0; i 《 allRows.length; i++) {
if (!obj.datagrid(’validateRow’, i)) {
updateFlag = false;
$.messager.show({
title: ’Error messages’,
msg: ’第’ + (i + 1) + ’行数据有误’,
timeout: 0
});
}
obj.datagrid(’endEdit’, i);
}
//获取所有变化的行
insertRows = obj.datagrid(’getChanges’, ’inserted’);
updateRows = obj.datagrid(’getChanges’, ’updated’);
deleteRows = obj.datagrid(’getChanges’, ’deleted’);
//if、else判断是否有变化的行,if没有则跳出提示信息,else进行下一步
if ((insertRows.length == 0 && updateRows.length == 0 && deleteRows.length == 0) || !updateFlag) {
//$.messager.alert(’Messages’, ’请进行正确的添加、更改或删除操作后再保存!’, ’info’);
}
else {
//将所有变化行的信息转换成string,并传给后台
var strInsertRows = JSON.stringify(insertRows);
var strUpdateRows = JSON.stringify(updateRows);
var strDeleteRows = JSON.stringify(deleteRows);
$.post(url, {
’insertStr’: strInsertRows,
’updateStr’: strUpdateRows,
’deleteStr’: strDeleteRows
},
function (result) {
if (result == ’Success’) {
obj.datagrid(’acceptChanges’);
obj.datagrid(’reload’);
obj.datagrid(’unselectAll’);
$.messager.alert(’Messages’, result, ’info’, function () { self.parent.refreshTab() });
}
else {
$.messager.show({
title: ’提示信息’,
msg: result,
timeout: 0
});
}
}, ’text’);
}
}
后台ashx保存到数据库:
JSONHelper.JSONToObject《List《StrorageInfo》》(insertStr);将得到的新增json转换成实体,这边你只要能把json拆成你要的数据就好
ora sql 为什么会出现 0 rows updated
就是说,没有满足条件的数据需要update一般upate语句中会带where,当没有数据满足where子句时,会出现0 rows updated的返回提示。
sql 批量修改数据
使用update 更新修改数据库数据,更改的结果集是多条数据则为批量修改。语法格式如:update 表格 set 列 = 更改值 where 筛选条件例:update table set a=1 --将table 中所以a列的值改为 1update table set a=1 where b=2 --将table 中列b=2的记录中a列的值改为 1
更多文章:
![360浏览器打不开网页怎么办(360浏览器打不开网页,提示安全证书未被信任,要怎么能才能取消这中设置)](/static/images/nopic/30.jpg)
360浏览器打不开网页怎么办(360浏览器打不开网页,提示安全证书未被信任,要怎么能才能取消这中设置)
2024年7月19日 15:15
![facebook注册账号申请(facebook苹果手机怎么注册)](/static/images/nopic/23.jpg)
facebook注册账号申请(facebook苹果手机怎么注册)
2024年9月4日 18:55
![平安银行官方网(平安银行网址,www.pingan.com也是官方网址吗怎么少了creditcard)](/static/images/nopic/3.jpg)
平安银行官方网(平安银行网址,www.pingan.com也是官方网址吗怎么少了creditcard)
2024年5月13日 03:10
![不收费的ps软件下载(可以下载永久免费的photoshop软件的网址)](/static/images/nopic/29.jpg)
不收费的ps软件下载(可以下载永久免费的photoshop软件的网址)
2024年7月1日 22:40
![招财进宝葫芦图片手机壁纸,求葫芦娃吸妖怪的桌面壁纸,要大图的?如何把电脑桌面设置成:有一个葫芦娃,桌面上的图标都从葫芦里面出来](/static/images/nopic/11.jpg)
招财进宝葫芦图片手机壁纸,求葫芦娃吸妖怪的桌面壁纸,要大图的?如何把电脑桌面设置成:有一个葫芦娃,桌面上的图标都从葫芦里面出来
2024年3月4日 09:00