問題タブ [ora-00907]
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 - ORA-00907 when trying to create a CHECK constraint
I need your help with this error:
ORA-00907 on Check CONSTRAINT
Query:
sql - Oracle 10g : ビュー内で兄弟を並べ替える
ビュー内に ORDER SIBLINGS BY fieldName を追加することは可能ですか? CONNECT BY 機能を使用してクエリを正常に使用している階層構造があります。
ただし、ビュー定義内に ORDER SIBLINGS BY fieldName を追加すると、Oracle は奇妙な括弧エラーを返します。
ORDER SIBLINGS BY またはビュー定義の外にない場合、それは魅力のように機能します。そうでなければ、私は得る:
ORA-00907: 右括弧がありません
sql - ORA-00907:右括弧がありません
テーブルオーダーの作成中にエラーが発生しました:
ORA-00907:右括弧がありません
oracle - PL/SQL でビューを動的に作成し、CLOB を使用すると、ORA-00907 が発生する
これは、役に立たないエラー メッセージが Oracle から返される状況の 1 つです。
私の状況は次のとおりです。PL/SQL でビューを動的に作成しています。文字列を作成し、EXECUTE IMMEDIATE を使用してビューを作成します。文字列が非常に長いので、CLOB を使用して格納します。
以下のコードを TOAD で実行すると、役に立たない
TOAD で (EXECUTE IMMEDIATE を使用せずに) ビューを手動で作成しても問題はありません。私の感じでは、短い文字列を使用してビューを正常に作成できたため (また、dbms_lob.substr() の代わりに to_char() を使用しましたが、to_char() は小さな CLOB でのみ機能します)。
文字列の合計の長さは 13775 です (明らかに、文字列を作成する以下の行を編集しました)。これは Linux 上の Oracle 10g データベースです。
oracle - Oracle TIMESTAMP タイプ
DESC テーブル名を選択すると、一部の列で TIMESTAMP(3)(11) が表示されます。3 は小数秒の精度です。11 とは何ですか? また、このような列を定義するにはどうすればよいですか?
ALTER TABLE name ADD col TIMESTAMP(3)(11)
たとえば、次のようになります ORA-00907: 右括弧がありません
sql - Oracle エラー - ORA-00907: 右括弧がありません
この Oracle エラーに頭を悩ませています。次のクエリは完全に機能します。
ただし、私はそのようにうるさいので、連結リストをアルファベット順に返したいと思っています。あなたは私がするだろうと思うでしょう:
ただし、これを試してみると、次のエラーが表示されます。
次のように、独自の SELECT ステートメントでクエリを実行できます。
そして、それはうまくいきます。私のカッコはシルク・ドゥ・ソレイユの部隊よりもバランスが取れています。エラーの理由
sql - ORA-00907: 右括弧がありません
「ORA-00907: 右括弧がありません」というエラーが表示されますが、確認したところすべての括弧が存在するため、困惑しています。
私のクエリは
私は決してOracleの専門家ではありませんが、ホスティング環境が必要なため、Oracleを使用する必要があります.
oracle - (さらに別の)「右括弧の欠落」
私は 10g を使用しており、簡単な計算を行って結果を列に保存しようとしています。実際のテーブルにはさらに多くの列がありますが、クエリで使用しているものは次のとおりです。
予防接種のショットは、ワクチン ロットから取得されます。「Dose_magnitude」は、特定の予防接種ショットがロットからどれだけ使用するかです。vaccine_lot の「Dose」列は、標準的な予防接種にどれだけ使用するかを示します。なので標準ショットは0.1ccかもしれません。しかし、1 回の予防接種で実際に使用される量は 0.2cc または 0.05cc です。vaccine_lot_transaction の「Quantity」列には、元々、ワクチン ロットに含まれる標準予防接種のショット数が記録されています。
私がここでやろうとしているのは、ワクチン ロットの正しい '手元の数量' (つまり、ワクチン ロットにまだ残っている標準的な予防接種の注射の数) を計算することです。
挿入したデータを使用した例を次に示します。ワクチン ロット (ロット ID は「100」) があり、150 の標準ショット (つまり、150 の 0.2cc ショットが含まれています) から始まります。このロットからすでに 2 回の予防接種が行われています (1 回は 0.2cc、もう 1 回は 0.3cc)。そして、現在の 120 という数量は明らかに間違っており、再計算して更新する必要があります。
これが私のクエリです:
案の定、オラクルは「右括弧がない」と文句を言い始めます。構文的に何かが間違っていると考えているようです。
誰でもこのクエリを見て、何が問題なのかを知ることができますか? ありがとう!
これを SQL*PLUS で実行すると、次のようになります。
ところで、私は SQL*Plus のバージョン 10.2.0.1.0 を使用しています。SQL Developer (バージョン 3.0.04) を使用しても同じ結果が得られます。
誰でもこの問題を調べるのを手伝ってもらえますか? ありがとう!
oracle - ORA-00907 を取得する Oracle クエリ: 右括弧がありません
他の右括弧の欠落に関する質問を読みましたが、私の問題に対する答えが見つかりませんでした。私はそれが最後の前に物事を切り取る構文エラーだと思います(私は実際にはオラクルの人ではありません)が、それがどこにあるのかわかりません。クエリは、顧客 ID と、その顧客のレコードがある最新の年を取得することになっています。パラメーターは、顧客 ID 番号 (地区ごとに一意ですが、組織の番号とは異なります)、地区、および検索対象の年です。その地区の検索された年のレコードがない場合、レコードは返されません。
oracle - ORA-00907クエリで分析関数を使用するとエラーが発生します(PS / Query、Peopletools 8.51.12)
値のリストを条件に貼り付けようとすると、クエリがORA-00907エラーをスローします。
背景:私は開発者ではありません。会社の実装のために、Peoplesoft内でPS/Queryを使用してクエリを記述できるようになるまで十分に研究されたエンドユーザーです。私は、現在バージョンFSCM 8.90.08.024であるPeoplesoftのFSCMモジュール(Financials and Supply Chain Management)を使用しており、ベースデータベースとしてOracle11gを使用していると思います。
私はほとんど独学で、私たちが持っている技術専門家はデータベース/アプリケーション関連のもので忙しい、または彼らは私のセクションの特定のデータニーズに精通していません。
データベースをクエリするSQLステートメントを直接記述できないことを指摘しておく必要があります。「PS/Query」(クエリマネージャーとも呼ばれます)と呼ばれる組み込みプログラムをGUIで使用する必要があります。このプログラムは、SQLを書き込み、データベースに実行してデータを抽出できるクエリとして保存します。これは、次の点でのみ私の質問に関連しています。
PS / Queryは、Oracleのドキュメントやこのようなサイトを除けば、これまでのところSQLに関する私の唯一の経験です。私の調査によると、これは「実際の」SQLプログラマーによって非常に制限されていると考えられています。この制限により、SQLコーディングのベストプラクティスと思われる方法に違反する方法で作業を行う必要があります。
クエリリクエスト:特定のシステム定義のカテゴリコードに対して(バウチャーとPOの)支出を引き出す、作成をリクエストされたクエリがあります。私がやろうとしているのは、バウチャーIDを取得し、ベンダーとカテゴリコードごとに商品の金額を合計して、結果を表示することです。つまり、ベンダー/カテゴリの一意の組み合わせごとに、そのベンダー/カテゴリの組み合わせを持つすべてのバウチャーの金額を合計します。
SUM(フィールド名)OVER(PARTITION BYフィールド名、フィールド名)構文を使用します。
したがって、最終結果は次のようになります...
そうは言っても、上記の結果セットを取得するためにクエリマネージャーが表示しているSQLは次のとおりです。
根本的な問題:これは正常に機能しますが、一度に1つのカテゴリコードでしかプロンプトを表示できません。カテゴリコードは5桁で、3桁の「クラス」、ダッシュ、2桁の「サブクラス」です。このクエリ結果を取得するために必要な375のカテゴリコードのリストがあります。
このバージョンでは、ワイルドカードの入力を許可するプロンプトを設定しました(つまり、123-%%)が、それでもクエリを約100回実行することになります。Query Managerでは、Criteriaで「InList」式タイプを使用できますが、リストの各エントリを手動で入力する必要があります。
コードリストのプレーンテキストコピーを適切な引用符/カンマを使用して式に貼り付け、指定されたすべてのNIGPコードの組み合わせリストを取得できるように設定しようとしています。Query Managerによって作成されたPromptフィールドでは、リストの貼り付けは許可されていません(私が知る限り)。
解決策の試み:http://peoplesoft.ittoolbox.com/groups/technical-functional/peoplesoft-other-l/create-an-expression-in-psoft-90-query-to-paste-a-のページを表示しましたlist-of-emplids-2808427と私はそこで与えられた答えのいくつかを試しましたが、どれもうまくいきませんでした。そのページから、この変更されたSQLを試してみることになりました(明らかに、コードのリストはここに表示するために少し切り捨てられています)。
そして、上記のSQLは、ORA-00907エラーを引き起こしているものです。誰かが以前にこの問題に遭遇したことがありますか?テキストの巨大な壁、私は知っています。謝罪いたします。これはここでの私の最初の投稿であり、関連するものを何も残さないようにしています。
この質問に拍車をかけた当面の問題は修正されましたが、その要求は非常に大きな氷山の一角にすぎません。ある時点で、クエリマネージャーを使用してプレーンテキストリストを基準として貼り付ける方法を見つける必要があります。 、できればAnalyticGroupingとうまく連携する方法で。
TL; DRバージョン:
Peoplesoft Query Managerを使用して、OVER、PARTITIONBYを使用したグループ化で分析SUMを実行します。リストを条件に貼り付けようとすると、ORA-00907エラーがスローされます。
どんな助けでも大歓迎です。ありがとう!