PDA

View Full Version : اینزرت همزمان table type و بقیه ی فیلدها



m_soheyl_s
یک شنبه 23 آذر 1393, 21:15 عصر
برای ارسال اگر طبق روش این پست (http://barnamenevis.org/showthread.php?459505-%D8%A7%D8%B1%D8%B3%D8%A7%D9%84-%DB%8C%DA%A9-%D8%A2%D8%B1%D8%A7%DB%8C%D9%87-%D8%A8%D9%87-%D8%AF%D8%A7%D8%AE%D9%84-store-procedure) یعنی table type بخواهیم آرایه ای را به همراه متغیرهای دیگری به SP ارسال کنیم، چگونه می توان همزمان Insert انجام داد. متغیرهای دیگر همگی محتوای یکسانی برای هر عنصر table type می باشند.
برای توضیح بیشتر به شبه کدی که البته اشتباه است توجه کنید.

CREATE TYPE TVP AS TABLE
(
ID INT
)




create PROCEDURE ADDM

(
@MyTable MyType READONLY,
@text nvarchar(max),
@Datetime nvarchar(50)
)
AS
INSERT INTO Users(UserID, Tex,DatTime)Values
(SELECT UserID FROM @MyTable, @text,@Datetime)





منظورم اینه که دیتایتبل فرستاده شده یک فیلد باشد.
می دونم می توان در همان سمت سی شارپ به دیتاتیبل اضافه کرد. اما می خوام سمت SQL انجام شود چون برنامه تحت شبکه و وب هست به صرفه نیست که این حجم ترافیک ایجاد شود.

pezhvakco
دوشنبه 24 آذر 1393, 09:03 صبح
نمیدونم درست خواسته شما رو فهمیدم
=> شاید

INSERT INTO Users
(UserID, Tex,DatTime)
SELECT UserID, @text,@Datetime
FROM @MyTable