SQLITE视图+触发器
对数据库来说,这是一个全新的概念——我试着在谷歌上搜索我做错了什么,但运气不好 这是一个简单的例子,没有说明我这么做的原因,但我尽可能地简化了。我的真实视图实际上将4个表连接在一起 我有一个名为“people”的表,其中包含以下列:person\u id、first\u name、last\u name 我有一个名为“phone\u book2”的视图,其SQL代码如下:选择person\u id作为pid,first\u name作为people中的fn 我有一个触发器,其SQL代码如下:创建触发器测试,而不是在电话上更新\u book2开始更新人员设置第一个\u name=new.fn,其中人员\u id=pid;终止 然后我尝试使用以下命令进行更新:updatephone\u book2 set fn='crazy test',其中pid=2 我得到以下错误:没有这样的列:pid 我是不是在用触发器做他们不该做的事?我读到您可以在视图中使用它们,但可能是错误的?您必须使用关键字NEW来限定pid:SQLITE视图+触发器,sql,sqlite,Sql,Sqlite,对数据库来说,这是一个全新的概念——我试着在谷歌上搜索我做错了什么,但运气不好 这是一个简单的例子,没有说明我这么做的原因,但我尽可能地简化了。我的真实视图实际上将4个表连接在一起 我有一个名为“people”的表,其中包含以下列:person\u id、first\u name、last\u name 我有一个名为“phone\u book2”的视图,其SQL代码如下:选择person\u id作为pid,first\u name作为people中的fn 我有一个触发器,其SQL代码如下:创建
请参阅。新手错误。非常感谢你!
CREATE TRIGGER test
INSTEAD OF UPDATE ON phone_book2
BEGIN
UPDATE people
SET first_name = NEW.fn
WHERE person_id = NEW.pid;
END