数据库oracle的forall循环里不能进行复杂 *** 作么

数据库oracle的forall循环里不能进行复杂 *** 作么,第1张

基本上是update/delete语句,forall是批量绑定,本质上是一个sql。它不是循环。所以,你可以用循环预处理你的数据并把结果存放在数组中,等for循环结束之后,用forall把结果写回数据库。

建议楼主把SQL语句显示出来,自然就明白问题在哪里了,我试着简单说一下,假设你的USER数据表有三个字段(name、age、sex),_POST提交数据也是这三个字段的,假设POST的值分别是abc、18、男,那么帖子的PHP会执行下面的三个SQL语句:

INSERT INTO USER(name) VALUES(abc)

INSERT INTO USER(age) VALUES(18)

INSERT INTO USER(sex) VALUES(男)

现在明白了吧,一、三两句会语法错误,英文没有在文本字段添加引号,第二句即使执行成功插入的记录只有年龄,姓名、性别为空,如果数据库有限制字段有效性,那么第二句插入也会失败,数据库需要的语句是:

INSERT INTO USER(name,age,sex) VALUES('abc',18,'男')

如果理解了,自然会下面这样写PHP语句:

$sql=<<<END

INSERT INTO USER(name,age,sex)

VALUES('{$_POST['name']}',{$_POST['age']},'{$_POST['sex']}')

END

试试将

user.username

改为

[user].username

'.'

附近有语法错误,是指user.username这个"."

sqlzs="select

top

15

id,药品名称,图片,发布时间,发布人,username,comane,somane,phone

from

main,[user]

where

(main.发布人

=

[user].username)

and

(图片<>'nopic.gif')

and

类别=false

and

(大类='半挂车'

or

大类='厢式车'

or

大类='罐式车'

or

大类='起重举升车'

or

大类='特种结构车'

or

大类='环卫车'

or

大类='重汽')

and

审核=true

order

by

id

desc"


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9237222.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存