
こんにちは。
現在、バッチで伝票を登録するプログラムを組んでいます。
実施したい内容は、伝票番号を採番し、伝票テーブルと伝票明細テーブルにデータを書き込むと言う物です。
具体的には、以下のテーブルです。
1.TRN_DENPYO
DENPYO_NO
DENPYO_HIDUKE
2.TRN_DENPYO_MEISAI
DENPYO_NO
DENPYO_MAISAI_NO
DENPYO_SYOHINCD
※TRN_DENPYOのDENPYO_NOはserialです。
そこで、TRN_DENPYO にレコードを追加した後、自動的にカウントアップされるTRN_DENPYOのDENPYO_NOを取得するために LASTVAL()を使用したいのですが、うまく行きません。
以下、実際に記述しているSQL文です。
$sql = 'INSERT INTO "TRN_DENPYO"("DENPYO_HIDUKE")VALUES(' . $denpyo_hiduke . ')';
$db->query($sql);
$sql = 'SELECT LASTVAL()';
$result =& $db->query($sql);
while($row = $result->fetchRow(DB_FETCHMODE_ASSOC)) {
$denpyo_no = $row['LASTVAL()'];
}
echo $denpyo_no;
この時点で、$denpyo_no の値が表示されると思っているのですが、表示されません。
どなたか教えて頂けませんでしょうか?
ちなみに環境は、PostgerSQL8.2 php5を使用しています。
No.1ベストアンサー
- 回答日時:
LASTVAL()は、マニュアルを見る限りPostgreSQL 8.3から登場しているようですが?
$sql = 'SELECT LASTVAL()';
$denpyo_no = $row['LASTVAL()'];
一般的には、
SELECT LASTVAL() AS LV
のように別名を付け、
$denpyo_no = $row['LV'];
のように別名で参照します。
この回答への補足
chukenkenkouさま
ご回答ありがとうございます。
別名をつけるのですね!
勉強になりました(というか、こんな質問をして恥ずかしいです)
マニュアルを見ると8.1.0に書かれていたので使えると、
実際に試してみても関数関係のエラーにならないので、
これは、私の使い方が悪いのだと思っていました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
デットロック回避策(autocommit...
-
「テーブルに座って……」という...
-
まるいテーブル 円い 丸い 漢字...
-
SQL*LoaderでCSVから指定した列...
-
下記、問題に対しての解答が以...
-
sqlplusで表示が変なので、出力...
-
MACアドレス見えない
-
処理の途中で停止させ、再開さ...
-
Microsoft Access:クエリのフ...
-
C#で電卓のプログラムを組んで...
-
ACCESSで成績管理
-
update文で改行を入れる
-
「クリップボードにコピーされ...
-
AUTO_INCREMENTの抜け番
-
クリスタルレポートで検索条件...
-
重複クエリを使ったデータ削除
-
男性と2人で飲食店に行きテーブ...
-
お金持ちのテーブル
-
SQL Server management studio ...
-
アクセス2010について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECT 文の NULL列は?
-
テーブルに存在しない列をselec...
-
SQLにて指定日付より前、かつ最...
-
SQLでUPSERTを一度に複数行やる...
-
PostgreSQLの断片化の状況を確...
-
単純なselectが遅くなるのです...
-
MS Access から PostgreSQL へ...
-
javaでデータベース上のテーブ...
-
2つのテーブルで引き算 postgres
-
Postgresqlのレポート機能について
-
reindex と update のデッドロック
-
Postgresのデータ領域の拡張に...
-
デットロック回避策(autocommit...
-
テーブルにcsvファイルをインポ...
-
PostgreSQL 8.0.2 の ERROR: r...
-
PostgreSQL レコードからアイテ...
-
同一カラムに複数条件指定
-
備品管理のデータベースについて
-
PostgresSQLでテーブル定義の抽...
-
DISTINCTとGROUP BYの違い
おすすめ情報