InDB処理の先頭でSQLを使用し、後続で対象テーブルにデータを挿入する。
という処理を使っているのですが、特定のカラムに連番を入れるという処理を追加することになりました。
DBはSQL Databaseなのですが、SEQUENCEを使用し以下のSQLを作成しました。
--SEQUENCEの定義
CREATE SEQUENCE スキーマ名.testid
AS bigint
START WITH 1
INCREMENT BY 1
CYCLE
CACHE
--SELECT文の実行
SELECT
next value for スキーマ名.testid
,NAME
,COMPANY
,ADDRESS
FROM TEST
WHERE xxx=xxx
InDBのクエリビルダでテストをすると問題ないのですが、
ワークフローを実行すると以下のようなエラーとなります。
Error: Write Data In-DB (11): Error running PreSQL on "NoTable":
[Microsoft][ODBC Driver 17 for SQL Server][SQL Server]
NEXT VALUE FOR function is not allowed in check constraints, default objects,
computed columns, views, user-defined functions, user-defined aggregates, user-defined table types, sub-queries,
common table expressions, derived tables or return statements.
ちなみに上記、SQL構文を使用し以下のようなINSERT句を実行しても問題ないことは確認済みです。
INSERT INTO TEST_TAGET
~先ほどのSELECT文
また、以下のような処理でトライしてみたのですが1時間たっても全く何も処理が進まなかったため諦めました。
InDBの処理限定で連番を付与できる処理について、何かお知恵を拝借できないでしょうか?
よろしくお願いいたします。
解決済! 解決策の投稿を見る。
AkimasaKajitaniさん
いろいろと調査してくださっていたんですね。
ありがとうございます。
Indentityを設定したほうが楽ではあったんですが、
Alteryx社が認識している問題ということで、バージョンアップに期待ですね。
ひとまず、普通のカラムに連番を振ることは可能でしたので、
解決としたいと思います。
いろいろとアドバイスありがとうございました。
(そしていつもありがとうございます。)