我有多条sql的更新语句,怎么用一个循环语句执行一次更新整一张数据表的数据?
sql语句如下:sql1=“update表名1。。。”sql2=“update表名1。。。”sql3=update表名1。。。”Access数据库,sql1、sql2、s...
sql语句如下:
sql1 = “update 表名1 。。。”
sql2 =“update 表名1。。。”
sql3 =update 表名1。。。”
Access数据库,sql1、sql2、sql3更新的条件都不一样,sql1根据表名1中“地址”address字段填入的省名称更新并根据省份判断是属于南方还是属于北方,sql2是根据表名1中“地址”address字段填入的没有省名称转而取地级市更新表的内容并根据地级市判断是属于南方还是属于北方,sql3是根据表名1中“地址”address字段填入为空的情况再根据留下的电话号码判断是属于南方还是属于北方。。。。 展开
sql1 = “update 表名1 。。。”
sql2 =“update 表名1。。。”
sql3 =update 表名1。。。”
Access数据库,sql1、sql2、sql3更新的条件都不一样,sql1根据表名1中“地址”address字段填入的省名称更新并根据省份判断是属于南方还是属于北方,sql2是根据表名1中“地址”address字段填入的没有省名称转而取地级市更新表的内容并根据地级市判断是属于南方还是属于北方,sql3是根据表名1中“地址”address字段填入为空的情况再根据留下的电话号码判断是属于南方还是属于北方。。。。 展开
12个回答
展开全部
将sql写入string[]数组中,然后用for循环判断如果得到的结果都是南方或北方在进行输出如果结果不同就看你自己对他们权重的设置了;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼主在哪里更新啊,如果是写存储过程的话:
DECLARE a int
for a<(select count(*) from 表名1)+1
begin
exec sp_executesql sql+convert(char(),a)
set a=a+1
end
如果在应该程序中直接更新的话,要看具体用什么语言,但思路都是一样的,题中变动的只是字符串名称,把字符串拆成一个常量与一个经过转换的整型变量的结合就行了
DECLARE a int
for a<(select count(*) from 表名1)+1
begin
exec sp_executesql sql+convert(char(),a)
set a=a+1
end
如果在应该程序中直接更新的话,要看具体用什么语言,但思路都是一样的,题中变动的只是字符串名称,把字符串拆成一个常量与一个经过转换的整型变量的结合就行了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
更新一张表一般很少用这么多的SQL。
只需要一个。除非你更新条件不同。如果那样的话,你的SQL也是不一样。只有前面类似而已。可以用一个循环将你需要更新的SQl全部串联起来。最后一次执行。
只需要一个。除非你更新条件不同。如果那样的话,你的SQL也是不一样。只有前面类似而已。可以用一个循环将你需要更新的SQl全部串联起来。最后一次执行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
using System.Text;
StringBuilder updBuild = new StringBuilder();
for(int i=0;i<6;i++)
{
updBuild.Append("update 表名1 。。。;");
}
string sql=updBuild.ToString();
sql就是用“;”隔开的多条sql语句了,因为updBuild是对象所以必须要.ToString()一下转换为字符串,希望可以帮助你了。
StringBuilder updBuild = new StringBuilder();
for(int i=0;i<6;i++)
{
updBuild.Append("update 表名1 。。。;");
}
string sql=updBuild.ToString();
sql就是用“;”隔开的多条sql语句了,因为updBuild是对象所以必须要.ToString()一下转换为字符串,希望可以帮助你了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询