У меня есть процедура в Microsoft SQL Server 05, задача которой - принять вызов и отправить его в другие базы данных на основе идентификатора пользователя. я не могу отправить дату (день рождения) должным образом. вот сокращенный сегмент кода ...
ALTER procedure [dbo].[spAddCustomer]
@ID as integer = 125, @databaseID as integer = 40, @name as varchar = 'd k', @birth_date as datetime = '2011/01/17 08:28:01'
as
--get database by @ID of user
SELECT @DataBaseName=t.DataBaseName
FROM [List].[dbo].[users] U
inner join tblList t on t.ID=U.[DataBaseID]
where U.USERID=@ID
--do insert into appropriate database
Declare @sql as varchar(8000)
Set @sql='
INSERT INTO ['+@DataBaseName+'].dbo.[customer]
( [Name], [Birth Date] )
value ( '''+@name+''','''+@birth_date+''');
'
print @sql
exec(@sql)
update customer set DateProcessed=getDate() where ID=@ID'
Я пытался использовать '''+convert(datetime,@birth_date,120)+'''
, это не работает.
как мне заставить это работать правильно?
спасибо за любую помощь, которую вы можете оказать!
Дэйв К.