input> 태그는 문자열을 입력 받거나 출력하는 경우에 사용되는 경우에 사용되는 태그입니다. <input> 태그의 형식은 다음과 같습니다. 그리고 UP-WML의 경우는 SK-WML의 <input> 태그와
속성의 용법은 거의 동일
합니다. 

<input type="" name="이름" format="입력문자형식" value="초기값" emptyok="boolean"
  maxlength="최대길이" size="크기"/> 

텍스트 입력 양식 태그의 속성에 따른 설명은 다음과 같습니다. 

name="" 입력 받은 텍스트를 저장할 변수

type= "text" 입력하는 텍스트를 그대로 보여주도록 설정
"password" 입력하는 텍스트를 * 형태로 변환하여 보여주도록 설정
value="" name변수의 기본값(기본값을 설정하지 않으면 태그 내에
사용하지 않도록 한다.)[알아두기] format과 value의 속성값이
일치하지 않는 경우
☞ SK-WML : 두개의 포맷이 일치하지 않더라도 기본값은 표시됨
☞ UP-WML : 일치하지 않는 경우 기본값이 나타나지 않는다.
format="" 사용자가 입력하는 텍스트 문자의 형식(type)과 입력 받을 문자
개수 설정
포맷 스펙상 설명 휴대폰(E.O.F) 실 예
A 기호,영문 대문자(숫자 안됨) 영대
a 기호,영문 소문자(숫자 안됨) 영소
N 숫자(기호,영문 안됨)
오른쪽 예제2 에서 자동문자
추가 "-" 또한 maxlength에
포함됩니다.
예제1)휴대폰 번호
:NNNNNNNNNN*N
예제2)생년월일:
NNNN\-NN\-NN
X 기호,숫자,영문 대문자(영문
소문자 안됨)
한글,영대,기호
x 기호,숫자,영문소문자(영문
대문자 안됨)
한글,영소,기호
M 기호,숫자,영문 대문자(영문
소문자 안됨) 기본 첫 문자는
대문자
한글,영대소,기호,숫자
m 기호,숫자,영문 소문자(영문
대문자 안됨) 기본 첫문자는
소문자
한글,영대소,기호,숫자

☞ 휴대폰 별로 Format 속성을 따르는 것과 따르지 않는 것이
천차 만별이기에 숫자(N)가 아닌 경우에는 Format 속성을
사용하지 않는 것을 권함.
☞ 포맷 속성값을 주지 않는 경우 <input> 태그 내에 format="" 을
두지 않음.
☞ UP-WML로 개발시 format="x" 또는 format="X"는 사용하지
않는다. UP4.1 브라우저는 문제가 없으나, AUR Browser의
경우는 다른 문자
입력이 불가능 하게 된다. 이는 브라우저의 버그이지만 어쩔 수
없이 따라야 하는 것이 무선인터넷인듯 하다.
emptyok ="true" 사용자의 입력을 받지 않고도 다음으로 넘어갈 수 있도록 설정
(Guest ID로 로그온 시 사용하면 유용)
emptyok ="false" Format에서 지정한 문자 형태와 개수 만큼 사용자의 입력을 꼭
받도록 설정
size="" 입력 글자수 제한
[UP-WML, ,SK-WML 모두 지원하지 않는다]
maxlength="" 사용자가 입력할 수 있는 최대 문자 수이며, Format의 속성을
이용해서 문자 수 제한이 가능하다. 숫자 4개 입력 설정은 format에
"4N" 또는 "NNNN"으로 설정한다. 제한을 두지 않는 경우는
"*N"("N*"은 안됨)과 같이 사용한다.Format에서 제한을 하지 않은
경우, maxlength를 지정하여 입력 최대 문자수 제한이 가능하다.
☞알아두기 : 한글은 완성문자가 한 문자로 인식되고, 영문/숫자
등은 one character를 하나의 문자로 인식한다.
tabindex="" 여러 개의 <input>태그 사이의 상대적인 순서
(SK-WML, UP-WML 동작 안 함)
title="" 현재 사용자 입력에 대한 타이틀
예제) 아래의 예제는 휴대폰 화면에 다음과 같이 표시된다.
*ID를 입력해 주세요:<br/>
<input name="id" type="text" value="ME" emptyok= false"
title="ID 입력"/>
*ID를 입력해 주세요:ID 입력:[ME][입력] => => => => => =>Title 이 없는 경우 *ID를 입력해 주세요:[ME][입력]
☞알아두기 : 구형 휴대폰의 경우 title 속성이 표시되지 않는다.
accesskey="1~9" 숫자버튼으로 입력 항목을 선택할 수 있도록 설정
(휴대폰 지원 안됨)

 

<?xml version="1.0" encoding="KS_C_5601-1987"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="login">
<p>
휴대폰 번호: <br/>
<input type="text" name="phone_no" format="10N*N" value="01" emptyok="false"
maxlength="11"/>
</p>
</card>
</wml>

[출처] wml input tag|작성자 푸른숲


'Program' 카테고리의 다른 글

Marshall  (0) 2009.12.27
아스키(ASCII) 코드 표  (0) 2009.12.22
WML - 기본 Tag  (0) 2009.12.16
[마틴파울러]Refactoring에서 나온 관련 좋은 문구  (0) 2009.12.15
1. Oracle Server
  1) Oracle instance : 메모리에서 일어나는 일(Ram)
  2) Oracle Database : 데이터 파일에 관한 일

2. Instance
  1) System Global Area(SGA) : 쿼리 등의 오라클을 실행하는 거
  2) Background processes(BS) : 뒷단에서 눈에 보이지 않는 작업을 하는 거

3. SGA
  1) Shared Pool
  2) Streams Pool
  3) Large Pool
  4) Java Pool
  5) Database Buffer Cache
  6) Redo Log Buffer

4. Background Processes : 메모리에서 일어나는 일들을 뒤에서 실행하는 거
  1) System Monitor(SMON)
  2) Process Moniter(PMON)
  3) DataBase Writer(DBWn)
  4) LogWriter(LGWR)
  5) Check Point(CKPT)

OWI : SQL 실행을 빠르게 하기 위한 개선책을 찾는 방법 (일종의 SQL튜닝?)

* 실행 과정
SQL(select * from emp)
-> user processer
-> server processer(문법 검사[Parsing] -> 권한 검사)
======================> SGA[Shared Pool]
-> 실행
======================> SGA[DB Buffer Cache] : HDD에 있는 걸 메모리에 올려주기 (속도 up) - 만약 파일 관리가 제대로 안된다면 속도 down
->


* full scan이 발생하면 DB Buffer Cache에 모든 block이 다 올라오기 때문에 기존에 있던 block들은 모두 해제된다.
그 후 full scan 후 다시 메모리에 올려야하기 때문에 속도 up, 시간 down

'Database > Oracle' 카테고리의 다른 글

10g RAC의 Load Balancing과 Failover  (1) 2009.12.30
Backup and Recover  (0) 2009.12.30
Query 실행 과정  (1) 2009.12.15
힌트 종류  (0) 2009.12.15
외래키 검색  (0) 2009.12.09
1. SELECT 실행 과정 {SELECT * FROM emp;}
-> user process (sqlplus)
-> server process : Parsing
  => ASCII 변환 (query를 변환)
  => Hash 함수
  => Cache가 있는지 확인
    ==> instance [Shared Pool:Library Cache] - soft parsing
  => 문법검사
    ==> instance [Shared Pool:Dictionary cache] - hard parsing
  => 권한검사
-> optimaser
  => 실행계획
    ==> 실행 계획까지의 모든 데이터를 저장
    ==> instance [Shared Pool:Library Cache]
    ==> Dictionary를 확인하고 계획을 세우기 때문에 Dictionary를 Update 해야함 [CBO:9i]
-> server process
  => Execute : 실행계획을 받아서 실행
    ==> Database buffer Cache에 있는지 확인
    ==> Data File에서 Block의 정보를 읽고 Database buffer Cache에 전체를 복사해서 결과 가지고 옴
  => Fetch
    ==> 필요한 정보만을 Block에서 간추린다. [PGA]
    ==> user process 전달

2. UPDATE 실행계획{UPDATE emp SET name='홍길동' WHERE empno=100}
-> SELECT의 parsing까지 동일
-> server process
  => Execute : 실행계획을 받아서 실행
    ==> Database buffer Cache에 있는지 확인
    ==> Data File에서 Block의 정보를 읽고 Database buffer Cache에 전체를 복사해서 결과 가지고 옴
    ==> Redo log Buffer 작업 내용 저장[작업일지]
      ===> instance 이기 때문에 수시로 Redo log file에 저장
        ====> 속도 fast - 수정 및 저장 내용이 적고 간결, Block의 위치에 상관없기 때문에
        ====> LGWR
      ===> 만약 불가피하게 디비가 죽는다면 다시 디비를 올리면서 Database File의 데이터와
           Redo log file의 내용을 비교해서 변경사항이 있다면 Database File의 내용을 변경한다.
        ====> 아카이브 로그에 다시 백업 복사
    ==> undo segment에 원래 내용 저장[취소하기 위해서]
    ==> Database buffer Cache에 원하는 정보로 변경 [commit 전에 변경 완료]

'Database > Oracle' 카테고리의 다른 글

10g RAC의 Load Balancing과 Failover  (1) 2009.12.30
Backup and Recover  (0) 2009.12.30
Admin Workshop 1 - 구조  (0) 2009.12.15
힌트 종류  (0) 2009.12.15
외래키 검색  (0) 2009.12.09
select   /*+ index( idx_col_1 ) */

           name, age, hobby

from     member

--------------------------------------------------

*오라클 힌트 사용표

INDEX ACCESS OPERATION 관련 HINT
HINT 내용 사용법
INDEX  INDEX를 순차적으로 스캔 INDEX(TABLE명, INDEX명)
INDEX_DESC INDEX를 역순으로 스캔 INDEX_DESC(TABLE명, INDEX명)
INDEX_FFS INDEX FAST FULL SCAN INDEX_FFS(TABLE명, INDEX명)
PARALLEL_INDEX INDEX PARALLEL SCAN PARALLEL_INDEX(TABLE명,INDEX명)
NOPARALLEL_INDEX INDEX PARALLEL SCAN 제한 NOPARALLEL_INDEX(TABLE명,INDEX명)
AND_EQUALS INDEX MERGE 수행 AND_EQUALS(INDEX_NAME, INDEX_NAME)
FULL FULL SCAN FULL(TALBE명)

  
JOIN ACCESS OPERATION 관련 HINT
HINT 내용 사용법
USE_NL NESTED LOOP JOIN USE_NL(TABLE1, TABLE2)
USE_MERGE SORT MERGE JOIN USE_MERGE(TABBLE1, TABLE2)
USE_HASH HASH JOIN USE_HASH(TABLE1, TABLE2)
HASH_AJ HASH ANTIJOIN HASH_AJ(TABLE1, TABLE2)
HASH_SJ HASH SEMIJOIN HASH_SJ(TABLE1, TABLE2)
NL_AJ NESTED LOOP ANTI JOIN NL_AJ(TABLE1, TABLE2)
NL_SJ NESTED LOOP SEMIJOIN NL_SJ(TABLE1, TABLE2)
MERGE_AJ SORT MERGE ANTIJOIN MERGE_AJ(TABLE1, TABLE2)
MERGE_SJ SORT MERGE SEMIJOIN MERGE_SJ(TABLE1, TABLE2)


JOIN시 DRIVING 순서 결정 HINT
HINT 내용
ORDERED FROM 절의 앞에서부터 DRIVING
DRIVING 해당 테이블을 먼저 DRIVING- driving(table)


기타 힌트
HINT 내용
append insert 시 direct loading
parallel select, insert 시 여러 개의 프로세스로 수행- parallel(table, 개수)
cache 데이터를 메모리에 caching
nocache 데이터를 메모리에 caching하지 않음
push_subq subquery를 먼저 수행
rewrite query rewrite 수행
norewrite query rewrite 를  수행 못함
use_concat in절을 concatenation access operation으로 수행
use_expand in절을 concatenation access operation으로 수행 못하게 함
merge view merging 수행
no_merge view merging 수행 못하게 함
Tag:: oracle

'Database > Oracle' 카테고리의 다른 글

10g RAC의 Load Balancing과 Failover  (1) 2009.12.30
Backup and Recover  (0) 2009.12.30
Admin Workshop 1 - 구조  (0) 2009.12.15
Query 실행 과정  (1) 2009.12.15
외래키 검색  (0) 2009.12.09

+ Recent posts