Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
嵌套游标,而循环SQL_Sql_While Loop_Cursor_Sql Insert - Fatal编程技术网

嵌套游标,而循环SQL

嵌套游标,而循环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

我试图将数据插入两个表中(在两个表上一次性插入100到150行)。第一个表主键有一个与第二个表外键的引用。我了解到游标对@Fetch\u Status是全局变量有问题。在两个表中循环和插入数据的最佳方法是游标、While循环或任何其他

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,我添加了表结构。源表是什么,从哪些表中插入数据到这两个表中?