firebird 3.0의 저장 프로 시저에서 반환 값을 여러 열의 기본값으로 사용해야합니다.열의 기본값으로 저장 프로 시저의 반환 값을 사용하는 방법?
내 절차 :
CREATE OR ALTER PROCEDURE CURRENTTIME
returns (
stime char(12))
as
begin
sTime = (SELECT trim(Substring(CURRENT_TIMESTAMP FROM 12 FOR 12)) from RDB$
end
그래서, 우리는 "NewOn"와 "LastChangeOn"라는 일부 특정 컬럼에 현재 시간을 기입해야합니다. Current_Time이라는 파이어 버드 자체에서 기본 프로 시저를 찾았지만 항상 '0000'이라는 밀리 초가 있습니다. '12 : 30 : 10.0000 ' 우리 데이터베이스에 밀리 세컨드가 필요하다. 내 자신의 프로 시저는 우리에게 밀리 초를 주지만 테이블에서 사용할 수는 없습니다. 테이블의
예 : 테이블이 다음과 같이 생성 될 때
CREATE TABLE USER (
FIRSTNAME CHAR(30),
LASTNAME CHAR(50),
IDENT CHAR(40) NOT NULL,
NEWAT DATE DEFAULT Current_Date NOT NULL,
NEWON CHAR(13) DEFAULT Current_Time(3) NOT NULL,
NEWFROM CHAR(25),
LASTCHANGEAT DATE DEFAULT Current_Date NOT NULL,
LASTCHANGEON CHAR(13) DEFAULT Current_Time(3) NOT NULL,
LASTCHANGEFROM CHAR(25)
);
그것은 우리에게 단지 0000 밀리 초를주는 파이어 버드 - 자신의 프로 시저를 호출합니다. 나는 파이어 버드 수술과 같은 수술을 요청했다. 또한 내 프로 시저에서 "일시 중단"여부에 관계없이 테스트했지만 차이는 없습니다.
아직이 문제에 대한 해결책을 찾지 못했지만 아무도 여기에서 도와 줄 수 없습니까?
그건 불가능합니다. 하지만 왜 우리가 프로그램 구조 때문에 날짜와 시간을 원한다면'LASTCHANGEON'이 타임 스탬프 열이 아닌지 궁금합니다. –
@a_horse_with_no_name 우리는 서로 다른 날짜와 시간을 필요로합니다. x – eightball60
적절한 시간 소인 유형과 varchar 열에 날짜 및 시간 정보를 추출하는 계산 된 열 두 개가있는 열을 만들 수 있습니다. –