0

Windows と OSX で同じデータベースを使用する必要があるため、LibreOffice ベースを使用しています。

何百ものCLIENT_IDを主キーとして、CLIENT_NAMEをフィールドとして持つテーブルがあります。主キーの長さは 6 文字です。

CLxxxx

新しいクライアントを挿入し、VBA や PHP を使用せずに単一の SQL ステートメントを使用してそれを実行できるようにしたいと考えています。自動番号を使用するように。

私がやろうとしているのはこれです:

1) 最も高いキーを取得し、そこから「CL」を削除します。たとえば、CL0344 の場合は 0344 が必要です

2) 新しいクライアントの新しいキーを取得するには、最も高いキーに 1 を追加します: 0355

3) 新しいクライアントをテーブルに挿入します

最初のポイントは、次を使用して簡単に達成できます。

SELECT TOP 1 RIGHT(CLIENT_ID,4) AS LAST_RECORD FROM CLIENTS
ORDER BY CLIENT_ID DESC

しかし、この select の結果に 1 を追加し、同じステートメントを使用して挿入するにはどうすればよいでしょうか?

4

1 に答える 1

0

このクエリを使用できます:-

 SELECT CAST(RIGHT(MAX(CLIENT_ID),4) AS INTEGER) + 1
 FROM CLIENTS;
于 2015-01-16T11:08:52.777 に答える