首先你写的语法就是错误的子查询中不可以有ORDERBY第二我觉得用游标写比较好第三查看所以有ID的表和列语句是这样写的Selecttabname,colnameFROMSysObjectsastab,syscolumnsascolWhereXType='U'andtabid=colobject_idandcolname='ID'
你首先确定你每次读入的是否为完整一行(这个你连续看两行就应该能确定),其次再确认一下接收的串和中间变量是否及时清空
看你的程序应该没有问题,你检查一下txt文件中是否有乱码等不能显示的字符,如果你有unix环境就拿到那个下面用vi看一下,如果没有用ultraedit或者editplus都可以,不过这两个打开你这个20w行的文件可能会比较困难,要不你就改一下你现在这个程序,判断一下ascii码
可以使用循环语句
while 条件
begin
执行 *** 作
set @i=@i+1
end
WHILE
设置重复执行 SQL 语句或语句块的条件。只要指定的条件为真,就重复执行语句。可以使用 BREAK 和 CONTINUE 关键字在循环内部控制 WHILE 循环中语句的执行。
延展阅读:
SQL语句
结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;sql 语句就是对数据库进行 *** 作的一种语言。
语句
数据库:CREATE DATABASE database-name
删除数据:drop database dbname
创建表:create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],)
删除新表:drop table tabname
增加:Alter table tabname add column col type
设主键:Alter table tabname add primary key(col)
删除主键:Alter table tabname drop primary key(col)
创建索引:create [unique] index idxname on tabname(col…)
删除索引:drop index idxname
创建视图:create view viewname as select statement
删除视图:drop view viewname
sql语句
更新:update table1 set field1=value1 where 范围
查找:select from table1 where field1 like '%value1%' (所有包含'value1'这个模式的字符串)
排序:select from table1 order by field1,field2 [desc]
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1[separator]
数量多的话用insert
select方法插入,如果只是纯数字的话,可以用系统表
insert
into
tb
(a,b)
select
anumber,bnumber
from
masterspt_values
a,masterspt_values
b
where
atype='p'
and
btype='p'
and
anumber
between
1
and
100
and
bnumber
between
1
and
5
以上就是关于从数据库中循环获取数据,遍历一遍以后,能不能循环从头开始进行相同的 *** 作全部的内容,包括:从数据库中循环获取数据,遍历一遍以后,能不能循环从头开始进行相同的 *** 作、程序中执行循环执行SQL插入,但数据进入数据库的顺序确不一样、SQL语句中怎样循环插入规律数据啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)