ZKX's LAB

循环跑存储过程 怎么在存储过程中进行循环?

2021-04-07知识8

存储过程 循环语句的一个疑问。 你的本意是想计算所有记录中parent与share的和?declare@p int/*定义变量p,用来取parent 的值*/declare@s int/*定义变量s,用来取share的值*/declare@sum int/*定义变量sum 用来保存累加*/declare@flag int/*定义循环变量 flag,当小于0时,结束循环*/set@flag=0/*初始为0*/set@p=0/*初始为0*/set@s=0/*初始为0*/set@sum=0/*初始为0*/while@flag=0/*开始循环,注意记录中必须要有一条为0,不然会死循环,如果等于0,那么记录中的值为0的,将不会计算/beginselect id,agentid,@p=parent,@s=share from sharetable order by id ascset@sum=sum+(@p+s)set@flag=pendprint@sum

Oracle 并行循环执行存储过程语句 作不到吧,存储过程又并不支持线程,你可以把要插入的数据union all,然后用一条带并行指示的语句进行插入insert/*+parallel(tablename,3)*/into tablenameselect*from table1union all select*from table2union all select*from table3

存储过程一直循环怎么解决 如果是要添加用户进入用户表中,根本用不到这么麻烦写存储过程。我也不太清楚你到底要实现什么功能,就跟你说一下你哪里写错了好了。BEGINselect@tracke_man=tracke_man from sal_Customers_1上面这句,@tracke_man是一个变量,只能取一个值,在你搜索方式没有变化的时候取的值肯定是sal_Customers_1这个表中的第一个,就此变量值基本上就固定了。接下来一行select@tracke_man_name=name from Employees where ecode=tracke_man上面变量的值取的是固定的,后面取@tracke_man_name肯定也是对应变量的值。并且while exists(select tracke_man from sal_Customers_1 group by tracke_man)你的循环条件是只要表中存在数据就进行循环,这肯定是个死循环。

#循环执行存储过程#循环跑存储过程

随机阅读

qrcode
访问手机版