database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
ㆍInformix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Informix Q&A 952 게시물 읽기
No. 952
[질문] 프로시져 질문
작성자
모근원
작성일
2001-08-20 16:18
조회수
3,927

아고 저번에 보낸 메일이 안가서 돌아왔네요

몇가지 질문이 있는데요

 

첫번째 질문은 프로시져에서

Select 후에 Update를 하거든요 근데 거기서 자꾸 fetch row 에러가 뜨네요

프로시져안에서 두종류의 쿼리를 날려주는것이 잘못된 방법인가요

근데 에러가 열번에 한번꼴로 나는거라...동작될때는 잘되고

참..

 

프로시져 소스입니다.

 

Create Procedure login_confirmSPC_A(

v_user_id varchar(10),

v_user_passwd varchar(8)

)

Returning int,varchar(16),varchar(12),varchar(50),int,char(20),int,int,varchar(8);

Define r_iuser_id int;

Define r_login_id varchar(16);

Define r_iuser_name varchar(12);

Define r_email varchar(50);

Define r_type int;

Define r_former_id char(20);

Define r_epoint int;

Define r_emoney int;

Define r_passwd varchar(8);

Set isolation to dirty read;

 

Select iuser_id,login_id,iuser_name,email,type,former_id,epoint,emoney,passwd Into r_iuser_id,r_login_id,r_iuser_name,r_email,r_type,r_former_id,r_epoint,r_emoney,r_passwd

From iuser

Where (lower(login_id)=lower(v_user_id)) and (passwd=v_user_passwd) and (is_used='t');

 

--Update iuser Set last_date=current YEAR TO SECOND,login_count=login_count+1 Where (lower(login_id)=lower(v_user_id)) and (passwd=v_user_passwd) and (is_used='t');

 

Return r_iuser_id,r_login_id,r_iuser_name,r_email,r_type,r_former_id,r_epoint,r_emoney,r_passwd;

End Procedure;

 

지금 현재 Update문은 --로 주석처리를 해두엇구요 이부분 주석을 풀면 가끔 에러가 생깁니다.

 

그리고 두번재질문

alter 로 프라이머리키도 변경이 가능합니까?

 

현재 테이블이

 

Create Table diary(

diary_id serial8 not null primary key,

iuser_id int not null References iuser(iuser_id),

subject varchar(60) not null,

content lvarchar,

write_year smallint not null,

write_month smallint not null,

write_date smallint not null,

status smallint,

weather smallint,

background_file varchar(100)

);

 

이렇게 생성되어있는데 프라이머리키를 diary_id 에서 빼내고

primary key(iuser_id,write_year,write_month,write_date)

로 주려고하는데 alter 법을 가르쳐주시면 감사하겟습니다.

 

그리고 마지막 질문 위 diary테이블에 관계되는것인데

프라이머리키를 초반에 잘못주는바람에

 

중복되는 데이터가 많이 들어갔습니다 물론 jsp에서는 에러를 발생시키구요

 

예를들어 다음과 같은데이터가 잘못들어가 있으면

 

diary_id iuser_id subject content write_year write_month write_date

1714 4556 바둑학원에서... 나는 오늘 바둑학원... 2001 7 24

1715 4556 바둑학원에서... 나는 오늘 바둑학원... 2001 7 24

1714 4556 바둑학원에서... 나는 오늘 바둑학원... 2001 7 24

 

이런식으로 중복되어 들어가는데이터가 있는데 이것을 하나만 남기고 삭제를 해야하는데

 

diary_id iuser_id subject content write_year write_month write_date

1714 4556 바둑학원에서... 나는 오늘 바둑학원... 2001 7 24

 

이것만 남게요 위와같은 일을하려면 어떠한 쿼리와 프로시져를 만들어야 할까요

그럼 답변기다리겟습니다.

[Top]
No.
제목
작성자
작성일
조회
9607.3 for NT에서 메모리 상주 테이블 ???
최적화
2001-08-23
3246
958키값을 알고 싶어요
빨리요
2001-08-22
3387
955형님들 누나들 도와주세용!!
대전시민
2001-08-20
3224
952[질문] 프로시져 질문
모근원
2001-08-20
3927
951헬프미!!!!
처음이
2001-08-20
3382
953┕>[냉무] www.informix.com/kr 싸이트를 찾아가 보시죠.~! ^^
딧세
2001-08-20 17:20:04
3426
954 ┕>Re: [냉무] www.informix.com/kr 싸이트를 찾아가 보시죠.~! ^^
처음이
2001-08-20 18:42:59
3275
956  ┕>[냉무] http://www.informixkorea.com/csdb/drvisapi.dll?MIval=pds_list&kind=3 <-- 이곳에서~! ^^
딧세
2001-08-21 10:07:12
3421
950도와 주세요(dbload 유틸리티)
상권
2001-08-17
4034
949informix를 사용하다 mysql로 전환할려구하는데요..
허접
2001-08-17
3526
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다