問題タブ [sql-pl]
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.
oracle-sqldeveloper - DBMS_SQL 文字制約
次のエラーが発生しました。DBMS_SQL について学習しています。テーブルを削除して新しいテーブルを再作成する以下のコードをいじっていました。新しいテーブルの再作成で気付きましたが、文字の制約が発生しています。これを修正するための最善の解決策は何だろうと思っています。
2 つの文字列を連結しようとしましたが、うまくいきませんでした。'CREATE TABLE students_12345(s_id NUMBER, fname VARCHAR2(30),lname VARCHAR2(30),tname VARCHAR2(100), スコア NUMBER, Exam_result VARCHAR2(6))';
それはおそらく非常に単純なことですが、コードのこの時点に到達するのに数時間かかり、この時点で私の目は四角くなっています.
前もって感謝します!
行から始まるエラー: コマンドの 48 - EXECUTE RecreateTempTable('a') エラー レポート - ORA-06502: PL/SQL: 数値または値のエラー: 文字列バッファが小さすぎます ORA-06512: "SYS.RECREATETEMPTABLE"、33 行目ORA-06512: 1 行目 06502. 00000 - "PL/SQL: 数値または値エラー %s" *原因: 算術、数値、文字列、変換または制約エラーが発生しました。たとえば、このエラーは、NOT NULL と宣言された変数に値 NULL を代入しようとした場合、または NUMBER(2) と宣言された変数に 99 より大きい整数を代入しようとした場合に発生します。*処置: 値が制約に違反しないように、データ、操作方法または宣言方法を変更してください。
if-statement - FORループdb2 plsqlを使用したIF条件
テーブルが空の場合にのみ値をテーブルに挿入するプロシージャを db2 で作成しています。次のステートメントを作成しましたが、エラーが発生しているため、何かが間違っています:
ありがとう!
stored-procedures - DB2 とストアド プロシージャ - バインド パラメータを回復する方法は?
ストアド プロシージャ (SQL / PL - DB2 V11 以降) を作成しており、'HELLO_WORLD' テーブルの列を取得するために SYSIBM.SYSCOLUMNS にアクセスする必要があります。
SYSIBM.SYSCOLUMNS では、表「HELLO_WORLD」が異なる TBCREATOR とともに存在します。
列が異なる可能性があるため、DISTINCT ステートメントは使用しません。特殊レジスタ CURRENT_SCHEMA の値を使用すると思っていましたが、残念ながら正しくありません。
例:
CURRENT_SCHEMA に存在する値は正しくありません。ストアド プロシージャが別のプロセス (たとえば、COBOL プロセス) によって呼び出された場合、CURRENT_SCHEMA は呼び出しを検証したプロセスに関連しています。
ストアド プロシージャ「設定」CURRENT_SCHEMA を値「USERBTC」で呼び出すプロセス (JCL 経由で COBOL プロセスを実行したユーザー)
私の OWNER/TBCREATOR は「OWN_CL」で、この値はバインド パラメータ (より正確には、パラメータ「QUALIFIER」) で指定されています。
テーブルを正しく取得するには、BIND オプションで指定された QUALIFIER (または OWNER) を使用する必要があります。
それが可能だ?何か提案はありますか?