我需要让我的所有产品都具有特征(ID 5)所以我试图制作一个程序,将一个表'product-caracteristics'插入一个带有它的属性的行,将所有产品ID与特征id相关联5。 那就是我到目前为止所拥有的:
BEGIN
FOR SELECT ID-PROD FROM PRODUCT INTO :VAR1 DO
BEGIN
INSERT
INTO PRODUCT-CARACTERISTICS(
ID-PRODUCT-CARACTERISTICS, //char9
ID-CARACTERISTICS, //char9
ID-PROD, //char9
DATE-CARACTERISTICS //date
)
VALUES (
'', //its a pk, so it should be automatic, right?...
'000000005',
:VAR1,
'04.03.2015'
);
END
END
另一件事,如果可能的话,我想知道如何只针对那些没有caracteristic5的产品。
(如果相关,应用程序是IBExpert,使用firebird 2.0,SQL方言3.0)提前感谢。
答案 0 :(得分:0)
PK不会自动生成ID。通常,您可以使用生成器填充该字段:
create generator NUM_PRODUCT_CARACTERISTICS;
并使用它:
... VALUES (
gen_id(NUM_PRODUCT_CARACTERISTICS, 1),
'000000005',
:VAR1,
'04.03.2015'
);
gen_id生成可在插入中使用的新的唯一值。
PS:表名和字段名中不允许使用“ - ”...更喜欢“_”