> 안녕하세요?
> 다름이 아니고 php와 postgresql를 이용해서 공부한는 도중에 궁금한게 있
> 어서 이렇게 .......
> 데이타베이스와 연결을 한 뒤에
>
> pg_Exec($dbname, "begin");
>
> 와 같이 하는 데 이것의 정확한 뜻이 무엇인지 모르겠습니다. 데이타 베이
> 스와 연결한뒤 쿼리 넘기고 하는데 이와 같이 다시 begin하는게 어떤 의미인지를요.. ^^;;
///>위와 같은 경우는 large object를 다룰때 사용하는 질의 방식입니다.
다음은 php manual에 나오는 부분입니다..
large object (lo) interface를 사용하려면 transaction block으로 둘러 싸는것이 필요하다.
transaction block은 begin으로 시작하고,transaction이확실하다면 commit과 end로 끝낸다. 만약 transaction이 오류가있거나 실패하면 transaction block은 abort와 rollback으로 끝내야 할 것이다.
Example 1. Using Large Objects
<?php
$database = pg_Connect ("", "", "", "", "jacarta");
pg_exec ($database, "begin");
$oid = pg_locreate ($database);
echo ("$oid\n");
$handle = pg_loopen ($database, $oid, "w");
echo ("$handle\n");
pg_lowrite ($handle, "gaga");
pg_loclose ($handle);
pg_exec ($database, "commit")
pg_exec ($database, "end")
?>
보통은 다음과 같이 사용합니다.
$Connection=pg_Connect("","","","",$DB_name); //DB 접속
$result=pg_exec($Connection,"select id from $Table_name where id='$id' ");
설명하자면 (php에서 사용하는.....)디비에 연결하고 질의를 전송해서
그 값을 $result에 저장합니다......
> declare C cursor for select * from $tablename;
>
> 또 하나 postgres명령어에서 cursor에 대해 잘 모르겠거든요.
> 그냥 포인터의 개념이 아닐까 하는 막연하게 잡혀 있기만 합니다...힘드시겠지만 자세한 설명 부탁드립니다.
////> 글쎄요...아마 이건 embeded sql에서 사용하는것 같은데...
pgsql에서는egpg던가.... 맞나????^^;
아무튼 전에 informix에서 사용했던걸 더듬어 보면 쿼리에 의해서
전송된 값이 C에 의해서 다루어집니다...
저도 그것밖에는...
> 아니면 아시는 사이트나 책이라도 소개해 주시면.... ^^
///>먼저 postgresql에 관한 사이트는 여기가 최고(?)인것 같습니다.
책은 저도 구하기 힘들군요...
글구 php는 www.phpschool.com 이라는곳도 좋구요....
php 한글 manual은 kldp.org 에 가시면 구하실수 있습니다.
> 제가 여기에 들어와서 글을 확인도 하지만 좀 빠른 방법으로 멜로 답을 주셨으면 하는데요..
> 그럼 편지나 글 올라오기를 기다리겠습니다.. 고맙습니다.
|