2012-03-11 9 views
0

SQL Serverの関数を使用して、0001から9999までの実行シーケンス番号を生成する方法、SQLサーバーでその関数を呼び出す必要がありますとき、それは再び9999に達した場合、これまでそれが0001SQL Server 2008のストアドプロシージャを使用して実行シーケンス番号を生成するソリューション

リセットされるようにすべきで、この上の任意のヘルプはそれについての良い記事がたくさんがありますが、この上記作業

答えて

1

を実行するためにしてくださいすることができます実行しているシーケンス番号を提供すること。 Googleをお試しください。

例えば参照herethere

0
あなたは、単に以下の手順を使用して、シーケンス番号を取得することができます

CREATE PROCEDURE proc_GetSeqNumber 
AS 
BEGIN 
DECLARE @idt INT 
SET @idt = 0 
WHILE (@idt < 9999) 
BEGIN 
    SELECT @idt = @idt + 1 
    PRINT @idt 
    END 
END 
+0

2〜9999の数字を示すループを作成しましたが、その質問にどのように答えますか? –

+0

申し訳ありませんが、@idtを0に初期化することができます..... –

+0

あなたはポイントを紛失しています、これは全く質問に答えることはありません –

1

あなたが保存することができないので、挿入または削除、更新することはできません機能次回に関数を呼び出すときに値をチェックしてください。ですから、関数を使ってこれを行う方法はありません。

0

データベースが値を記憶できる唯一の方法は、テーブルに格納されている場合です(Oracleではシーケンスを使用できますが、SQL Serverではそれを使用できません)。単一の値であり、関数は値を読み取り、インクリメントし、必要に応じてリセットします。

0
if @ItemsCount=0  
begin 
       set @generatedSeNumber=1 
end 
else 
    begin 

SET @sql= 'insert into Senumber values(('[email protected]+'))' 
Exec (@sql) 
+0

作成されたシーケンスyy-mm-dd000001 – kkjj

関連する問題