当前位置:首页 » 操作系统 » c数据库批量更新数据库

c数据库批量更新数据库

发布时间: 2022-11-26 16:10:46

❶ postgresql 如何批量更新数据库,有这么难吗

更改拥有者:
usage()
{
cat << EOF
usage: $0 options
This script set ownership for all table, sequence and views for a given database
Credit: Based on http://stackoverflow.com/a/2686185/305019 by Alex Soto
Also merged changes from @sharoonthomas

OPTIONS:
-h Show this message
-d Database name
-o Owner
EOF
}

DB_NAME=
NEW_OWNER=
PGSQL_USER=postgres

while getopts "hd:o:" OPTION
do
case $OPTION in
h)
usage
exit 1
;;
d)
DB_NAME=$OPTARG
;;
o)
NEW_OWNER=$OPTARG
;;
esac
done

if [[ -z $DB_NAME ]] || [[ -z $NEW_OWNER ]]
then
usage
exit 1
fi
for tbl in `psql -U $PGSQL_USER -qAt -c "select tablename from pg_tables where schemaname = 'public';" ${DB_NAME}` \
`psql -U $PGSQL_USER -qAt -c "select sequence_name from information_schema.sequences where sequence_schema = 'public';" ${DB_NAME}` \
`psql -U $PGSQL_USER -qAt -c "select table_name from information_schema.views where table_schema = 'public';" ${DB_NAME}` ;
do
psql -U $PGSQL_USER -c "alter table \"$tbl\" owner to ${NEW_OWNER}" ${DB_NAME} ;
done

❷ 如何在sql server 2008中 批量地更新数据,就是一次性更新多个字段的同一行数据

你好!你写的“”update ['+@tablename+'] set ('+@updatesp+')=(select ('+@Csql+')) where 学号='''+@sno+''''”,就好比是set a,b,c,d,e=(f,g,h,i,j),这样肯定不能建立对应关系。我提供个思路给你:将传进来的列名分开,用循环去更新,一次只更新一列。希望能帮到你~

❸ C#winform三层架构中如何实现将gridcontrol批量插入数据到数据库

//将dgvStudent数据操作更新到数据库
private Boolean dbUpdate()
{
string strSql = "select ID as 学号,name as 姓名, class as 班级 from tbl_Student";
//新建一个用于将dgvStudent数据操作更新到数据库的内存表
DataTable dtUpdate= new DataTable();
//新建一个用于更新dgvStudent数据操作的内存表
//利用da初始化dtUpdate的表结构(和数据)
SqlDataAdapter da = new SqlDataAdapter(strSql, sqlCon);
da.Fill(dtUpdate);
//初始化的数据需清除,以存放更新后的dgvStudent数据
dtUpdate.Rows.Clear();
//再建一个内存表,用于将更新后的dgvStudent数据逐条读取出来存入更新内存表中
DataTable dtShow = new DataTable();
//逐条读取出来存入更新内存表中
dtShow = (DataTable) dgvStudent.DataSource;
for (int i = 0; i < dtShow.Rows.Count; i++)
{
dtUpdate.ImportRow(dtShow.Rows[i]);
}
try
{
this.sqlCon.Open();
//使对DataSet所做的更改与关联的SQL Server数据库相协调
SqlCommandBuilder sqlCbld;
sqlCbld = new SqlCommandBuilder(da);
//通过该da将更新后的dgvStudent数据(即已复制的dtUpdate)更新到数据库
da.Update(dtUpdate);
sqlCon.Close();
}
catch(Exception ex)
{
MessageBox.Show("数据库操作失败:" + ex.Message.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return false;
}
dtUpdate.AcceptChanges();
return true;
}

❹ sql 批量修改数据

使用update 更新修改数据库数据,更改的结果集是多条数据则为批量修改。
语法格式如:
update 表格 set 列 = 更改值 where 筛选条件
例:
update table set a=1 --将table 中所以a列的值改为 1
update table set a=1 where b=2 --将table 中列b=2的记录中a列的值改为 1

❺ 如何批量更新access数据库

更新查询,查询语句:
update 表1 set 表1.a=表2.a,表1.b=表2.b,表1.d=表2.d
from 表1,表2 where 表1.c=表2.c

祝你成功!

❻ sql在update更新时如何快速且大批量的更新数据(C#中写的)

这不是才1000个数据吗, 循环起来不会很慢, 而且也用不上case when啊亲
SQL:
UPDATE tableA
SET colB=@colB, colC=@colC
WHERE colA=@colA

循环
for(var i=0; i<1000; i++)
{
colA.Value=A[i]; colB.Value=B[i]; colC.Value=C[i];

cmd.ExecuteNonQuery();

}

❼ 有关数据库更新

最好写个存储过程,因为是批量更新,所以存储过程参数用XML格式的。
存储过程里面逻辑这样:
insert table(字段)
SELECT 字段
FROM OPENXML (@handle, '/ArrayOfT_ZZ_EquipmentPointEntities2/T_ZZ_EquipmentPointEntities2',2)
WITH (
字段
)
where 字段 not in (select 字段 from table)

update table set 字段=''
where 字段 in SELECT 字段
FROM OPENXML (@handle, '/ArrayOfT_ZZ_EquipmentPointEntities2/T_ZZ_EquipmentPointEntities2',2)
WITH (
字段
)

❽ C#.net里如何实现数据批量传入SQL数据库

用bulkinsert导入一个文件夹下的所有指定条件的文件
(实现批量上传)
在某个文件夹下有很多文件,要将该文件夹下的
snd*.txt
文件,插入
snd_info

rcv*.txt
文件,插入
rcv_info

其他
.txt
文件和其他类型的文件不处理
--示例处理过程
--处理参数
declare
@path
nvarchar(266)
set
@path='c:\'
--要导入的文件所在的目录
--导入处理
--得到该目录下的所有文件
if
right(@path,1)<>'\'
set
@path=@path+'\'
create
table
#t(fn
nvarchar(1000),depth
int,isfile
int)
insert
#t
exec
master..xp_dirtree
@path=@path,@depth=1,@file=1
--定义游标,逐个导入文件
declare
@s
varchar(8000)
declare
tb
cursor
local
for
select
'bulk
insert
'
+case
when
fn
like
'snd%.txt'
then
'snd_info
from
'''+@path+fn
+'''
with
(formatfile='''+@path+'snd_bcp.txt'
else
'rcv_info
from
'''+@path+fn
+'''
with
(formatfile='''+@path+'rcv_bcp.txt'
end+''')'
from
#t
where
isfile=1
and
fn
not
in('snd_bcp.txt','rcv_bcp.txt')
and
(fn
like
'snd%.txt'
or
fn
like
'rcv%.txt')
open
tb
fetch
tb
into
@s
while
@@fetch_status=0
begin
exec(@s)
fetch
tb
into
@s
end
close
tb
deallocate
tb
drop
table
#t

❾ 批量更新数据库中一个字段的值(在字段值前加字符串"00")

实现语句改成: Update [member] Set card='00' || card

PostgreSQL 8.1 中文文档:http://www.pgsqldb.org/pgsqldoc-8.1c/

❿ sql在update更新时如何快速且大批量的更新数据

使用merge语句吧
语法:
MERGE INTO 目标表 AS A

USING 源表 AS B

ON (A.COL = B.COL) --匹配条件

WHEN MATCHED THEN --当匹配上就用B表的字段更新A表的字段

UPDATE SET
A.COL1 = B.COL1,
...
A.COLn = B.COLn

WHEN NOT MATCHED THEN INSERT(A.COL1,...,A.COLn) --下面这句是不匹配就插入数据

VALUES (B.COL1,...,B.COLn);

热点内容
linux命令全称 发布:2024-05-17 12:07:54 浏览:110
ftpnas区别 发布:2024-05-17 12:06:18 浏览:949
512g存储芯片价格 发布:2024-05-17 12:04:48 浏览:963
脚本运行周期 发布:2024-05-17 11:39:09 浏览:808
阿里云服务器怎么配置发信功能 发布:2024-05-17 11:37:24 浏览:313
编程中的变量 发布:2024-05-17 11:33:06 浏览:777
加密视频怎么解密 发布:2024-05-17 11:02:52 浏览:571
柳工挖机密码多少合适 发布:2024-05-17 11:00:40 浏览:188
android工程叹号 发布:2024-05-17 10:56:21 浏览:481
在苹果手机应用怎么比安卓贵 发布:2024-05-17 10:56:20 浏览:548