首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL组合3条语句;这是可能的吗?

SQL组合3条语句;这是可能的吗?
EN

Stack Overflow用户
提问于 2013-01-08 03:11:46
回答 2查看 101关注 0票数 1

我有3个语句,我想把它们合并成一个;这样我就可以知道这样做有没有必要?

插入

代码语言:javascript
运行
复制
INSERT INTO plants (name, latin_name, type, stock, price, flower_colour, foilage_colour, features, sun_exposure, soil_type, hardiness, competance, height, spread, description, flowering_season)
VALUES
(dandelion, `Taraxacum officinale`, weed, 12, 1.99, white, green, flower, `full sun`, alkaline, `annual hardy`, low, 12cm, 7cm, d, summer)

更新

代码语言:javascript
运行
复制
UPDATE plants SET flower_colour='white', soil_type='clay', height='15cm', spread='4cm', description='Weed' AND price='£1.99'

删除

代码语言:javascript
运行
复制
DELETE FROM plants WHERE name='dandelion' AND type='weed'
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-08 03:24:59

这对你的RDBMS来说是不可能的。

票数 1
EN

Stack Overflow用户

发布于 2013-01-08 03:20:20

我要问的第一个问题是:“你为什么要这样做?”给定您的示例,您可以插入、更改,然后删除一个条目。除非存在诸如触发器之类的隐藏逻辑来更新数据的其他元素,否则数据层的状态不会因为这三个命令的执行而改变。

此外,您的UPDATE语句在语法上不正确;AND只能在WHEREHAVING子句中使用,所以我认为您在那里错误地遗漏了一些东西。

没有任何方法可以将插入、更新和删除合并到一个命令中。您通常可以将所有这三个命令作为一个“脚本”从您正在使用的代码层发送,或者将这些SQL命令封装到一个存储过程中并执行它,但是每个语句对底层数据执行的操作非常不同,这就是为什么它们一开始就是不同的命令。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14202468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档