0

自己生成 ID を使用して別の列の同じ行に値を入力するストアド プロシージャを実行したいと考えています。

元:

表: IDReference

IDReferenceはオートナンバー、中古品VARCHARですID-CURRENTDATE

したがって、ID が 230 の場合、insert ステートメントの Ref は になります230-20130225

これは可能ですか?どうすればこれを達成できますか?

4

1 に答える 1

1

sql-server を使用している場合は、computed column.

create table myTable ( 
    id int identity (1,1) not null,
    name varchar(50) not null,
    recordDate date default getdate(),
    reference  as ((convert(varchar,[id1],(0)) + '-') + convert(varchar,recordDate,(112)))
)

そして、挿入は次のようになります(または、recordDateを入力できます)

insert into myTable (name)
values ('xyz')

テーブルを変更できない場合は、(ストアド プロシージャで) 試してください。

declare @recordId int
insert into myTable (name)
values ('xyz')

select @recordId = scope_identity()

update myTable set reference = convert(varchar, @recordId) + '-' +  
                               convert(varchar, getdate(), 112)
where id = @recordId
于 2013-02-25T12:11:48.960 に答える