PDA

View Full Version : اشكال در insert با Variable



s-soleimani
دوشنبه 19 آبان 1393, 10:27 صبح
سلام دوستان

من یک sp دارم که نیاز دارم اول مقادیرم رو در متغیر وارد کنم از جمله نام دیتابیس و بعد insert انجام بدم ولی error زیر رو دارم



;'set @name_m='test
;'set @DefaltDB='MYDB

[SET @query ='INSERT INTO '+@DefaltDB+'.[dbo].[Mytb
([Name_m])
VALUES
;' ('+name_m@+')


(EXECUTE(@query
.................................................. ..........................................

ERROR :

Msg 207, Level 16, State 1, Line 1
'Invalid column name 'test

pezhvakco
دوشنبه 19 آبان 1393, 11:49 صبح
برای انجام این دستور

' ('+name_m@+')

رو به



' (''' + @name_m + ''') '
ویرایش کنید .
پیشنهاد =
کمی تمیز تر کد نویسی کنید
برای اجرای کد دستور ها Exec sp_executesql رو بکار ببرید



Set @DefaultDB = 'MYDB';
Set @Name_M = 'test';

SET @Query = 'INSERT ' + @DefaltDB + '.[dbo].[Mytb] '
+ '([Name_m]) '
+ 'VALUES '
+ '(''' + @Name_M + ''') ';

Exec sp_executesql @Query;

s-soleimani
سه شنبه 20 آبان 1393, 11:25 صبح
سلام میشه مشکل کد زیر رو هم بگید ممنونم
;DECLARE @date_sabt1 datetime

;'set @date_sabt1='2010-11-12 00:00:00.000

[SET @query ='select * from '+@DefaltDB +'.[dbo].[MyTB
;'('''+where (name like ''%'''''+@name+'''''%'') and (fam<>'''') and (date_sabt>='''+@date_sabt1+''')
(EXECUTE(@query


:error
Msg 241, Level 16, State 1, Procedure select_Tafasil_mashroammm, Line 20
Conversion failed when converting date and/or time from character string.

ham3d1988
سه شنبه 20 آبان 1393, 17:42 عصر
سلام تاریخ را از جنس رشته تعریف کنید تا بتواند در داینامیک کوئری به رشته بچسبد
یا توی رشته از cast استفاده کنید


DECLARE @date_sabt1 nvarchar(30)

s-soleimani
سه شنبه 20 آبان 1393, 22:00 عصر
سلام تاریخ را از جنس رشته تعریف کنید تا بتواند در داینامیک کوئری به رشته بچسبد
یا توی رشته از cast استفاده کنید


DECLARE @date_sabt1 nvarchar(30)




یعنی نمیشه در کوئری داینامیک از یک تاریخ ازنوع datetime استفاده کرد؟؟