問題タブ [db2-400]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - 制約のあるiSeriesでテーブルを変更するにはどうすればよいですか?「*FILE使用中」を取得しています。エラー
いくつかの制約があるiSeries(IBM-i / AS400)にテーブルがあります。このようなテーブルはSQLで作成されており、他のテーブルからこのテーブルにリンクしているいくつかの外部キーがあります(実際のSQLはここでは少しわかりにくいです)。
さて、ずっと後で、フィールドを追加するためにそのテーブルを変更する必要があります。
このメッセージは次のようになります。
確認しましたが、現時点ではこのテーブルにオブジェクトロックはありません。ジョブログを確認すると、次のように表示されます。
もちろん、問題の制約を削除して再度追加することもできますが、これは必要ないはずだと思います。追加する列は、制約とは何の関係もありません。これはおそらく、OS400(i5 / OS)が実際には既存のテーブルを変更しておらず、代わりに新しいテーブルを作成してデータをコピーしているという事実の結果であると思います。
しかし、キーを一時停止し、変更後に再開する方法はありますか?
(SQLでこれを行う必要がない、またはそもそもテーブルを別の方法で作成することを提案する回答は、ここでは適用できないため、役に立ちません...)
sql - キーなしテーブルで PK 候補が重複している理由を見つけるための SQL
私の肩書があなたの頭を傷つけるなら. 私はあなたと一緒にいます. このテーブルがレガシーシステムの一部であることを除いて、なぜ存在するのかを知りたくありません。また、システムは「レコードレベルアクセス」(RLA)を行います。これは、多くのテーブルにとって問題になることがわかっています。列を追加するとテーブル形式が変更され、多くの非常に古いプログラムが機能しなくなるため、言及されています...
どうやら PK を追加しても、テーブルの形式は変わらないことが示されています。それで、特定のキーのセットは一意であることが保証されていると言われましたが、そうではありません。そして今、私は彼らがどこにいないのかを示す必要があります.
私が考えることができるのは次のとおりです。
テーブルが主キーで一致するクロス積を取得します。
どういうわけか、PK がそれ自身と一致するエントリの数の結果セットにカウント列を取得します。
カウント ID が 2 より大きい値の結果セットをフィルタリングします。
PK を十分に拡張すると、実際に何かユニークなものが見つかるかどうかを確認します。
db2 - DB2 400 ドロップ列
id
自動インクリメント PKと呼ばれる列を削除したいと考えています。
SQL:
そして私は得る:
私は間違っているかもしれませんが、テーブルがデータを失うのを防ぐことに関係していると思います。この問題を回避するには、列のない新しいテーブルを作成し、古いテーブルから新しいテーブルにデータをコピーしてから、古いテーブルを新しいテーブルに置き換える必要があります。
sql-function - 機能するか機能しないか、それが当面の問題です
ASP.NETアプリケーションのいくつかのSQLステートメントに取り組んでいます。必要なことの1つは、オープン期間の情報のみを表示することです。前の期間が閉じられると、期間はベンダーソフトウェアによって自動的に更新されます。だから私は自分が次のようなサブセレクトの束をやっていることに気づきました:
はい、日付の各部分は別々のフィールドにあります。
このクエリを関数にすると、クエリがより効率的になりますか?関数を作成したことがないのですが、どうすればよいですか?私の考えは次のようなものです。
だから私はすることができますWHERE IsInRange(date)
。
それとももっと良い方法はありますか?
sql - 日付と時刻の間でクエリを実行するにはどうすればよいですか?
2つの異なる日時から情報を取得する必要があるクエリがあります。
昨日から今日までの間、および最後に変更された時刻の昨日から18:00:00時間から今日の13:00:00時間までの間に、日付が最後に変更されたすべてのものをプルしたいと思います。
どうすればこれを達成できますか?
database - 表が IBM System i Access for Windows とどのように関連しているかを確認する方法は?
表が IBM System i Access for Windows とどのように関連しているかを確認する方法は? IDキーなど..ありがとう
ibm-midrange - 古い AS/400 上の DB2 のテーブル構造
10 ~ 15 年ほど前の非常に古い 400 を使用しており、廃棄できるようにそこからデータを移行する必要があります。接続しているホストのバージョンが 03.01.0000 であることを報告している QTODBC というプログラムを介して、ODBC に接続しています。テーブル構造データを取得できるようにシステム テーブルにアクセスしようとしています。さまざまなコマンドを試してみましたが、すべて DB2 の新しいバージョン用に記述されているようです。
当時のシステムテーブルは何でしたか? そして、スキーマ名がこの古いバージョンであると仮定すると、どのようにスキーマ名を取得するのでしょうか?
ibm-midrange - IBM DB2:ビューを削除せずに変更して再作成するにはどうすればよいですか?
IBM DB2:ビューを削除せずに変更して再作成するにはどうすればよいですか?「DB2IBMiシリーズのビューがあり、「クエリ」を「更新」/変更する必要があります。これまでにわかっている唯一の方法は、削除して再構築することですが、この場合、これに基づいた別のビューがあります。 1つで、最初のものを削除すると、2番目のものが削除されます。
sql - SQL: 更新はどの行にも影響しません
DB2/AS400 テーブルのデータセットを更新したいと考えています。
問題は、パラメーター リストに文字列パラメーターがある場合、コマンドが更新する行を見つけられないことです。
例: 会社番号のみを指定してコマンドを実行すると、コマンドは成功します。会社番号と施設番号を指定してコマンドを実行すると、コマンドが失敗します。
誰にもアイデアはありますか?
編集
データベースのデータ型は次のとおりです。
- 会社: 整数
- 機能: VARCHAR
- 部門: VARCHAR
- Production_Group: VARCHAR
- Manufacturing_Order:INTEGER
- Order_Operation: INTEGER
.NETのデータ型は次のとおりです。
- 会社番号: int
- 施設番号: 文字列
- 部署名: 文字列
- ProductionGroup: 文字列
- 製造順序: int
- 注文操作: int
sql.ToString() の結果:
sql - 日付に基づいてグループ内の単一の行を選択するにはどうすればよいですか?
アイテム番号、価格発効日、および価格で構成されるアイテム価格ファイルがあります。年初から値上げを予定しております。私がやりたいことは、発効日が後の価格レコードを今すぐ追加し、現在の日付に基づいて現在の価格を選択することです。IE 現在の日付は 08/03/11 です。ITEM1 01/01/09 レコードを取得します。
年の最初が 01/01/12 になったら、01/01/12 レコードを選択します。
正しいレコードではなく、最初または最後のレコードをプルするため、MIN または MAX 関数を使用することはできません。
どんなアイデアでも大歓迎です。