我在我的数据库中创建了一个用户定义的数据类型:
CREATE TYPE [dbo].[QuestionList] AS TABLE (
[QuestionUId] UNIQUEIDENTIFIER NULL);
然后我将它传递到我的存储过程中:
CREATE PROCEDURE dbo.sp_ins
@Title NVARCHAR (100) ,
@Questions QuestionList READONLY,
@TopicId INT
AS
BEGIN
有人可以告诉我如何获取Questions参数的内容,迭代它并将内容与递增的QuestionNumber 一起插入此表中:
CREATE TABLE [dbo].[TestQuestion] (
[TestQuestionId] INT IDENTITY (1, 1) NOT NULL,
[QuestionNumber] INT NOT NULL,
[QuestionUId] UNIQUEIDENTIFIER NOT NULL
);
答案 0 :(得分:1)
对我来说,看起来你根本不需要迭代,简单的基于set的插入会做:
INSERT INTO dbo.TestQuestion (
QuestionNumber,
QuestionUId)
SELECT
ROW_NUMBER() OVER (ORDER BY (SELECT NULL)),
QuestionUId
FROM @Questions