- ベストアンサー
ストアドプロシジャ
ストアドプロシジャの方法で削除処理をしたいと考えています。 ダイナセットはデータ件数が沢山あって、使いたくありません。 言語 VB6.0 DB ORACLEは9iで、oo4oで接続しています。 DBは テーブル名 売上 列名 データID 伝票日付 っていうふうになっていて、 例えば、伝票日付が今日のデータ分削除処理をしたいんですが いろいろなサイトを見てもいまいちわからないので投稿しました。 お願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Public OraS As OraSession Public OraD As OraDatabase dim strSQL as String Set OraS = CreateObject("OracleInProcServer.XOraSession") Set OraD = OraS.OpenDatabase(DataSource, User, 0&) strSQL = "DELETE FROM 売上 WHERE FORMAT(伝票日付,"YYMMDD") = 'yymmdd'" OraD.ExecuteSQL strSQL DataSourceはデータベース名,Userはデータベースにログインするときのユーザー名です。 これをモデファイしてご利用ください。あくまでもヒントです。
その他の回答 (2)
- yomo3
- ベストアンサー率32% (88/269)
こんにちは。 困り度3なので。とりあえず結果を出すために。 1.日付指定でクエリを作る 2.それを削除クエリにする っていう手順で一発です。 SQLは DELETE 売上.伝票日付 FROM 売上 WHERE (((売上.伝票日付)=#6/24/2003#)); となります。 これは、日付が今日になっています。
- taknt
- ベストアンサー率19% (1556/7783)
delete 売上 where 伝票日付= to_char(sysdate,'YYYYMMDD'); と ストアドプロシジャーに 書いてあげればいいでしょう。
お礼
ありがとうございます。 PUBLIC W_SQL AS STIRNG PUBLIC ORASE AS OBJECT PUBLIC ORADB AS OBJECT W_SQL = "DELETE データID,伝票日付 FROM 売上 WHREE 伝票日付 = 20030601 ORADB.ExecuteSQL W_SQL ※伝票日付はNUMBER型です。 SQL文をまねして書いたんですけど、SQLの実行時エラーが出てしまいます。 ORA-00933 SQLコマンドが正しく終了されていません。と出ます。 何がいけないんでしょうか・・・
補足
DELETE FROM 売上 でできました。ありがとうございます.