我今天才发现一个问题有关于SQL

zjybestzjybest 2003-05-17 06:08:28
SQL语言好象不支持INSERT语句添加条件就是INSERT后面不能加WHERE?
请高手讲一下
...全文
39 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjybestzjybest 2003-05-17
  • 打赏
  • 举报
回复
foilsman(刀仔) 测试不行
foilsman 2003-05-17
  • 打赏
  • 举报
回复
问题出现在这里
datamodule4.ADOQuery1.SQL.Add('where 1<>2 ');//去掉
用 INSERT INTO T1(f1,f2,f3) VALUES(v1,v2,v3)是不能加判断语句的
它不同如下

var
vSql : String;
begin
......
vSql := 'INSERT INTO teachernodo SELECT * FROM teachernodo2 WHERE 1<>2';
datamodule4.ADOQuery1.SQL.Add(vSql);
datamodule4.ADOQuery1.ExecSQL
end;
zjybestzjybest 2003-05-17
  • 打赏
  • 举报
回复
就好象不行呀
datamodule4.ADOQuery1.SQL.Add
('insert into teachernodo (teacherid,xinqi,dijijie) values');
datamodule4.ADOQuery1.SQL.Add('(:teacherid,:xinqi,:dijijie) ');
datamodule4.ADOQuery1.Parameters .ParamByName('teacherid').Value :=teacherid;
datamodule4.ADOQuery1.Parameters.ParamByName('xinqi').Value :=xinqi;
datamodule4.ADOQuery1.Parameters.ParamByName('dijijie').Value :=dijijie;
datamodule4.ADOQuery1.ExecSQL ;
可以,
datamodule4.ADOQuery1.SQL.Add
('insert into teachernodo (teacherid,xinqi,dijijie) values');
datamodule4.ADOQuery1.SQL.Add('(:teacherid,:xinqi,:dijijie) ');
datamodule4.ADOQuery1.SQL.Add('where 1<>2 ');

datamodule4.ADOQuery1.Parameters .ParamByName('teacherid').Value :=teacherid;
datamodule4.ADOQuery1.Parameters.ParamByName('xinqi').Value :=xinqi;
datamodule4.ADOQuery1.Parameters.ParamByName('dijijie').Value :=dijijie;
datamodule4.ADOQuery1.ExecSQL
不行
outer2000 2003-05-17
  • 打赏
  • 举报
回复
insert into yourtable select * from anotthe table where....;

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧