質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PL/SQL

PL/SQL (Procedural Language/Structured Query Language) はOracle CorporationによるSQL(非手続き型言語)を手続き型言語に拡張させるために開発されたプログラミング言語です。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

意見交換

クローズ

1回答

318閲覧

PL/SQLで特定の日にのみ処理を実行したい

rio447

総合スコア4

PL/SQL

PL/SQL (Procedural Language/Structured Query Language) はOracle CorporationによるSQL(非手続き型言語)を手続き型言語に拡張させるために開発されたプログラミング言語です。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

0クリップ

投稿2023/05/31 14:56

編集2023/07/01 18:01

0

0

実現したいこと


ここに実現したいことを箇条書きで書いてください。

  • テーブルの日時が特定の日(4/1)に限り、処理を実行する
  • それ以外の日にちは処理を終了する。

前提

PL/SQLで特定の日・時間に動作を行うシステムを作っています。
日付のテーブルから引用した日付情報の前日に処理を行う方法から、今回特定の日付に限り処理を実行&特定日以外は処理をしないという仕様に変更することになりました。

発生している問題・エラーメッセージ

・処理が異常終了しました。 ・正常終了しました。(内容は変更前の処理)

該当のソースコード

PL/SQL

1DT_SYORIBI := テーブル日付.処理日時%TYPE; 2DT_SYORIBI := TO_DATE(TO_CHAR(RE_テーブル日付.DT_SYORIBI,'YYYY/MM/DD')||'23:59:00','YYYY/MM/DD HH24:MI:SS')

試したこと


DT_SYORIBI := 'YYYY/04/01';
こちらのコードで毎年4/1に処理を実行するように設定。
結果:コンパイルエラーで失敗。


DT_SYORIBI := ACT_SYORIBI(発生日時);
上記コードを追加して、テーブル日付の処理を日時を処理発生日と紐づけ
結果:処理発生日が4/1以外でも処理が実行されてしまったため失敗。

補足情報(FW/ツールのバージョンなど)

ツール:object browther

プログラミング初心者のため、最適な処理方法がわかりません。
簡単にできる処理があれば、ご教授の程よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

回答1

#1

Orlofsky

総合スコア16415

投稿2023/05/31 21:41

タグPL/SQLとPL/pgSQLが使われていますが、
PL/pgSQL はPostgereSQLでのみ使えます。
不要はタグは削除してください。

テーブル日付.処理日時%TYPE;

などは質問にCREATE TABLE文を、現象を再現できるレベルのコードをMarkdownの[コード]を使って提示してください。
https://teratail.com/help/question-tips#questionTips37

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

最新の回答から1ヶ月経過したため この意見交換はクローズされました

意見をやりとりしたい話題がある場合は質問してみましょう!

質問する

関連した質問