嵌套游标,而循环SQL
我试图将数据插入两个表中(在两个表上一次性插入100到150行)。第一个表主键有一个与第二个表外键的引用。我了解到游标对@Fetch\u Status是全局变量有问题。在两个表中循环和插入数据的最佳方法是游标、While循环或任何其他嵌套游标,而循环SQL,sql,while-loop,cursor,sql-insert,Sql,While Loop,Cursor,Sql Insert,我试图将数据插入两个表中(在两个表上一次性插入100到150行)。第一个表主键有一个与第二个表外键的引用。我了解到游标对@Fetch\u Status是全局变量有问题。在两个表中循环和插入数据的最佳方法是游标、While循环或任何其他 CREATE TABLE Table1 ( FirstTablePK [int] NOT NULL, --Mannual Increment(Not Identity) Description [varchar](100) NOT NULL, CONSTRAINT
CREATE TABLE Table1
(
FirstTablePK [int] NOT NULL, --Mannual Increment(Not Identity)
Description [varchar](100) NOT NULL,
CONSTRAINT PK_Table1 PRIMARY KEY CLUSTERED (FirstTablePK)
)
CREATE TABLE Table2
(
SecondTablePK [int] NOT NULL, --Mannual Increment(Not Identity)
FirstTablePK [int] NOT NULL, -- Foreign Key Reference with Table1
Description [varchar](100) NOT NULL,
CONSTRAINT PK_Table2 PRIMARY KEY CLUSTERED (SecondTablePK),
CONSTRAINT FK_Table1 FOREIGN KEY (FirstTablePK) REFERENCES Table1(FirstTablePK)
)
提前谢谢。
Hari光标不常用于查找外键。使用基于集合的查询更快更容易:
insert into SaleOrder
(remarks, product_id, customer_id, ...)
select 'please deliver fast'
, (select id from Products where name = 'Car Oil')
, (select id from Customers where name = 'India Corp')
, ...
回答这样的问题几乎是不可能的。请显示您的表结构、一些示例数据、您试图实现的结果以及您迄今为止所做的尝试。根据性能,while loop是最好的,而不是cursor…Hi Mureinik,我添加了表结构。源表是什么,从哪些表中插入数据到这两个表中?