- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 t1
表有 no number(3)
和 name varchar2(20)
列
和 emp
表有 empno
, ename
, job
等列。
现在我正在创建一个 View
create view v_t as select * from t1,emp;
v_t
中插入值那是观点,但它给了我错误
cannot modify a column which maps to a non key-preserved table
最佳答案
假设 t1 表和 emp 表都具有 View 可以识别为唯一的主键,我猜测问题在于您如何指定 JOIN。您现在所拥有的看起来会创建一个笛卡尔积(一个表中的每一行不加选择地连接到另一个表中的每一行),这可能无法满足保留键的表要求(在问题中引用你在上面链接)。
您在 FROM 子句中指定了隐式 JOIN,但我没有看到任何 JOIN 条件(阅读:WHERE 子句)。通过查看您的架构,我将假设您可以像这样在 t1.no = emp.empno 上加入:
create view v_t as
select *
from t1,emp
where t1.no = emp.empno;
create view v_t as
select *
from t1
inner join emp on emp.empno = t1.no;
CREATE TRIGGER v_t_insteadof
INSTEAD OF INSERT ON v_t
FOR EACH ROW
BEGIN
INSERT INTO t1 (no, name)
VALUES(:new.no, :new.name);
INSERT INTO emp (empno, ename, job)
VALUES(:new.no, :new.ename, :new.job);
END v_t_insteadof;
INSERT INTO v_t (no, name, ename, job) VALUES (59, 'Bob', 'Bobs Ename', 'Bobs Job');
关于sql - 尝试插入 View 时无法修改映射到非键保留表错误的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8824015/
我正在尝试在 Cassandra 1.1 中对列族进行建模,逻辑上看起来像这样: Entp: //CF //rowkey-> entp_name_xyz: {
我对此比较困惑...... 我有一个像这样的表: +----------------+--------------------------------------------------+------
这个问题在这里已经有了答案: Get selected text from a form using wtforms SelectField (5 个答案) 关闭 5 年前。 我有一个 WTF Se
我是一名优秀的程序员,十分优秀!