希望有人可以帮助我。我想从我构建的语句中将许多记录添加到表中。 例如:
ProjectSQL = "INSERT ALL "
For each Proj in split(Request.Form("ShowProjects"))
ProjectSQL = ProjectSQL & " INTO proj_tbl (proj_id) VALUES ('" & Proj & "') "
Next
db.Execute ProjectSQL
The SQL is:
INSERT ALL
INTO proj_tbl (proj_id) VALUES ('45)
INTO proj_tbl (proj_id) VALUES ('56)
INTO proj_tbl (proj_id) VALUES ('92)
Oracle SQL最后需要一个Select语句。
我不想在每个循环中敲击数据库,因为可能会添加许多记录(并且dba会切断我的球)。
有人可以告诉我该怎么做吗?
感谢。
答案 0 :(得分:4)
假设proj_id
是number
,您可以构建一个这样的SQL语句,从dual
表中执行无意义的查询
INSERT ALL
INTO proj_tbl (proj_id) VALUES (45)
INTO proj_tbl (proj_id) VALUES (56)
INTO proj_tbl (proj_id) VALUES (92)
SELECT 1 FROM dual
答案 1 :(得分:1)
为什么不将声明构建为:
INSERT INTO proj_tbl(proj_id)
select 45 from dual union all
select 56 from dual union all
select 92;