1
私はMicrosoft SQL Server 2005のプロシージャを持っています。それを呼び出すのは、ユーザーIDに基づいて他のデータベースに送信することです。私は日時(誕生日)が正しく送られることができません。ここでは省略コードセグメント...挿入時に文字列からdatetimeを変換する@sql = '...'
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 [email protected]
--do insert into appropriate database
Declare @sql as varchar(8000)
Set @sql='
INSERT INTO ['[email protected]+'].dbo.[customer]
( [Name], [Birth Date] )
value ('''[email protected]+''','''[email protected]_date+''');
'
print @sql
exec(@sql)
update customer set DateProcessed=getDate() where [email protected]'
は、私はそれが動作しません'''+convert(datetime,@birth_date,120)+'''
を使用して試してみたのです。
これを正しく機能させるにはどうすればよいですか?
お寄せいただきありがとうございます!
dave k。
"[生年月日]は、挿入しているデータベースのdatetime型であり、変更できません"という回答がすぐに却下されました。それをテストすることに決めました。それはそれを好むように見えます。私は今より少し大きい仕事をしなければなりません、なぜなら、それは私が現在提示しているものよりはるかに大きいスクリプトですが、私はそれが動作することを確認できるとすぐに答えとしてあなたをマークするでしょう!ありがとう! –