0

SQL Server ストアド プロシージャは初めてです。このストアド プロシージャの作成方法を知りたいと思っていました。シナリオは次のとおりです。

このプロシージャは、firstname と lastname をパラメーターとして取ります。これは、最初の文字、または firstname と lastname の最初の文字を取り、その末尾に数字を追加して、この文字列を返すことに基づいています。文字列がデータベースに既に存在する場合は、数値を増やして文字列を返します。

例 1:

firstname: abc    
lastname: def    
output: ad001

例 2:

firstname: pqr    
lastname: mno    
output: pm001

例 3:

firstname: aaa    
lastname: ddd
output: ad002 

(この場合、例1で作成されたデータベースに値がすでに存在するため、出力はad002代わりになります)001ad001

この問題の助けをいただければ幸いです。ありがとう。

4

1 に答える 1

1

更新
手順でこのロジックを使用できます:

Declare
   @firstname varchar(10)= 'aaa',    
   @lastname varchar(10)=  'ddd',
   @output varchar(20)

insert into name_table 
   select 
      @firstname, 
      @lastname,
      substring(@firstname,1,1)+
      substring(@lastname,1,1)
      +RIGHT('000'+cast(COALESCE(max(substring(output,3,4)),0)+1 as varchar) ,4)
   from 
      name_table 
   where 
      output like substring(@firstname, 1, 1) + substring(@lastname, 1, 1) + '%'


select * from name_table

SQL フィドル

于 2013-05-03T05:33:36.703 に答える