当前位置:首页 » 存储配置 » 数据库的数据存储怎么更新

数据库的数据存储怎么更新

发布时间: 2024-12-17 13:55:17

‘壹’ Oracle存储过程,更新大量数据,如何循环分批次提交

可通过以下方法:

以100条数据为例,如果海量数据可参考。

如test表中有如下数据:

sql">declare
iint;--定义变量
v_countint;--定义变量
v_loopint;--定义变量
begin
selectcount(*)intov_countfromtest;--计算表内数据总数
selectceil(v_count/10)intov_loopfromal;--计算需要循环次数
i:=1;--为i赋值
whilei<=v_looploop--循环退出条件
updatetestsetbegintime=<=10;--执行更新
commit;--提交
i:=i+1;--i依次加1
endloop;--结束循环
end;

‘贰’ oracle数据库怎么替换更新存储内容

在安装oracle数据库的时候,一般就把数据库给创建了。当使用Database Configuration Assistant工具创建另外一个数据库的时候,一般数据库默认的数据路径放在oracle安装路径下面(例如:C:\oracle\oradata)。为了提高数据库的性能,一般oracle的主目录和数据文件要分别放在不同的盘中。而且系统C盘很容易崩溃,且空间小,不小心数据将随系统的崩溃而消失,那样损失将是无法估量的。一般用Database Configuration Assistant工具创建数据库时并不提示你修改路径。而且这个修改的路径也不容易找到。

具体方法如下:假设这里安装的数据库名是XLJC。
1:找到数据库XLJC下面的文件pfile,在pfile中用文本编辑器打开orit.ora文件。这里的路径是C:\oracle\admin\XLJC\pfile
找到行control_files=("c:\oracle\oradata\XLJC\control01.ctl", "c:\oracle\oradata\XLJC\control02.ctl", "c:\oracle\oradata\XLJC\control03.ctl")
将盘符c:变成你所要存放的盘符,比如d:,然后保存退出。
2:找到oracle数据默认的存放路径,例如这里是:
C:\oracle\oradata\XLJC
在d:盘下面建立同样的目录,例如d:\oracle\oradata。然后把整个XLJC文件夹复制到所建立的目录下即可。(C:\oracle\oradata\XLJC目录下存有有数据库的控制文件,创建表空间的时候,表空间文件就和这些控制文件在同一目录下)。
然后就可以打开oracle数据库平台在你修改后的路径下创建表空间了。

‘叁’ (SQL数据库)我想创建一个存储过程来更新表中的数据

create
procere
update_table
(
@c_tbname
varchar(128),
--
要更新的表名
@c_upcolname
varchar(1000),
--
要更新的字段列表,以豆号隔开
@c_updata
varchar(1000),
--
要更新的数据列表,以豆号隔开,要与相应的列一一对应
@c_id
varchar(100)
--
要更新的关键字,没有关键字的不能更新
)
as
begin
declare
@c_sql
varchar(max)
declare
@i_bcol
int
declare
@i_ecol
int
declare
@i_bdata
int
declare
@i_edata
int
if
@c_id
is
null
or
@c_id
=
''
return
set
@i_bcol=
1
set
@i_bdata=
1
set
@c_sql
=
'
update
'
+
@c_tbname
+
'
set
'
set
@i_ecol
=
charindex(','
,
@c_upcolname
,
@i_bcol
)
while
@i_ecol
>
0
begin
set
@c_sql
=
@c_sql
+
substring(
@c_upcolname,@i_bcol,@i_ecol
-
1
)
+
'
=
'
set
@i_edata=
charindex(','
,
@c_updata,
@i_bdata)
set
@c_sql
=
@c_sql
+
''''
+
substring(
@c_updata,@i_bdata,@i_edata-
1
)
+
'''
,'
set
@i_bcol
=
@i_ecol
+
1
set
@i_ecol
=
charindex(','
,
@c_upcolname
,
@i_bcol
)
end
set
@c_sql
=
@c_sql
+
substring(
@c_upcolname,@i_bcol,len@c_upcolname)
-
1
)
+
'
=
'
set
@c_sql
=
@c_sql
+
''''
+
substring(
@c_updata,@i_bdata,len(@c_updata)-
1
)
+
'''
'
set
@c_sql
=
@c_sql
+
'
where
id
=
'''
+
@c_id
+
'''
'
exec
(
@c_sql
)
end

热点内容
sqlserver2008查询时间 发布:2025-05-11 04:15:28 浏览:386
安卓孤胆车神被封号怎么解封 发布:2025-05-11 04:05:22 浏览:940
高压洗车泡沫怎么配置 发布:2025-05-11 04:00:47 浏览:547
腾讯轻量服务器怎么使用 发布:2025-05-11 03:52:46 浏览:174
4位密码组合有多少种至少有一个0 发布:2025-05-11 03:44:03 浏览:338
八卦手指算法 发布:2025-05-11 03:23:32 浏览:281
编译成exe是什么意思 发布:2025-05-11 03:23:28 浏览:470
javaweb技术内幕 发布:2025-05-11 03:20:14 浏览:803
多台焊机变压器怎么配置 发布:2025-05-11 03:18:07 浏览:310
nmake编译 发布:2025-05-11 03:04:32 浏览:622