Free Trial

ディスカッション

答えを見つけ、質問し、Alteryx の専門知識を共有してください。
解決済み

InDB処理で連番を作成したい。

kobaken
メテオール

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時間たっても全く何も処理が進まなかったため諦めました。

 

処理.jpg

 

InDBの処理限定で連番を付与できる処理について、何かお知恵を拝借できないでしょうか?

よろしくお願いいたします。

10件の返信10
kobaken
メテオール

AkimasaKajitaniさん

 

いろいろと調査してくださっていたんですね。

ありがとうございます。

 

Indentityを設定したほうが楽ではあったんですが、

Alteryx社が認識している問題ということで、バージョンアップに期待ですね。

 

ひとまず、普通のカラムに連番を振ることは可能でしたので、

解決としたいと思います。

 

いろいろとアドバイスありがとうございました。

(そしていつもありがとうございます。)