Loading...
MySQL 9.5 Reference Manual 9.5의 15.1.19 CREATE LIBRARY Statement의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
1CREATE LIBRARY [IF NOT EXISTS] [database.]library 2 LANGUAGE language 3 [COMMENT "comment_text"] 4 AS code
이 statement는 (있다면) 지정된 데이터베이스에 라이브러리를 생성합니다. 데이터베이스를 지정하지 않으면, 현재 데이터베이스에 라이브러리가 생성됩니다. 라이브러리 이름은 유효한 SQL 식별자이면 됩니다. LANGUAGE는 (대소문자 구분 없이) JavaScript 또는 Wasm이어야 합니다.
COMMENT는 선택 사항입니다. comment의 텍스트는 따옴표로 감싸야 합니다.
_code_는 JavaScript 코드이거나, 컴파일된 WebAssembly 코드의 Base64 또는 16진수 인코딩으로 이루어진 문자열이며, 생성 시점에 유효성이 검사됩니다. 유효하지 않은 코드는 오류와 함께 statement를 거부합니다. code 문자열은 달러-인용(dollar-quoted) 또는 작은따옴표(single-quoted)일 수 있고, ANSI_QUOTES SQL 모드가 설정되어 있지 않은 한 큰따옴표(double-quoted)도 가능합니다.
CREATE LIBRARY를 실행하려면 사용자는 CREATE ROUTINE 권한을 가져야 합니다.
이 statement를 사용하여 저장 프로그램 내에서 생성된 라이브러리를 사용하려면, 사용자는 EXECUTE 권한을 가져야 합니다. 이 권한은 라이브러리를 사용하는 함수 또는 프로시저가 생성될 때마다 검사됩니다.
다음 예에서, 첫 번째 statement는 jslib 데이터베이스에 lib1이라는 JavaScript 라이브러리를 생성합니다. 이어지는 SELECT statement는 방금 생성된 라이브러리에 해당하는 Information Schema LIBRARIES 테이블의 row를 표시합니다.
1mysql> CREATE LIBRARY IF NOT EXISTS jslib.lib1 LANGUAGE JAVASCRIPT 2 -> AS $$ 3 $> export function f(n) { 4 $> return n 5 $> } 6 $> $$; 7Query OK, 0 rows affected (0.02 sec) 8 9mysql> SELECT * FROM information_schema.LIBRARIES 10 -> WHERE LIBRARY_SCHEMA='jslib'\G 11*************************** 1. row *************************** 12 LIBRARY_CATALOG: def 13 LIBRARY_SCHEMA: jslib 14 LIBRARY_NAME: lib1 15LIBRARY_DEFINITION: 16 export function f(n) { 17 return n 18 } 19 20 LANGUAGE: JAVASCRIPT 21 CREATED: 2024-12-16 16:36:44 22 LAST_ALTERED: 2024-12-16 16:36:44 23 SQL_MODE: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE, 24NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION 25 CREATOR: me@localhost 261 row in set (0.00 sec)
다음 예에서, 첫 번째 statement는 wasmlib 데이터베이스에 lib1이라는 WebAssembly 라이브러리를 생성합니다. 이 예는 컴파일된 WebAssembly 코드의 Base64 인코딩을 사용합니다. 이어지는 SELECT statement는 방금 생성된 라이브러리에 해당하는 Information Schema LIBRARIES 테이블의 row를 표시합니다.
1mysql> CREATE LIBRARY IF NOT EXISTS wasmlib.lib1 LANGUAGE WASM 2AS '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'; 3mysql> SELECT * FROM information_schema.LIBRARIES 4 -> WHERE LIBRARY_SCHEMA='wasmlib'\G 5 *************************** 1. row *************************** 6 LIBRARY_CATALOG: def 7 LIBRARY_SCHEMA: wasmlib 8 LIBRARY_NAME: lib1 9LIBRARY_DEFINITION: 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 10 LANGUAGE: WASM 11 CREATED: 2025-10-22 15:42:12 12 LAST_ALTERED: 2025-10-22 15:42:12 13 SQL_MODE: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES, 14NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION 15 LIBRARY_COMMENT: 16 CREATOR: me@localhost
다음 예에서, 첫 번째 statement는 wasmlib 데이터베이스에 lib2라는 WebAssembly 라이브러리를 생성합니다. 이 예는 컴파일된 WebAssembly 코드의 16진수 인코딩을 사용합니다. 이어지는 SELECT statement는 방금 생성된 라이브러리에 해당하는 Information Schema LIBRARIES 테이블의 row를 표시합니다.
1mysql> CREATE LIBRARY IF NOT EXISTS wasmlib.lib2 LANGUAGE WASM 2AS X'0061736d0100000001270760037f7f7f017f60000060017f017f60017f0060037f7e7f017e6000017f60047f7f7f7f017f02460216776173695f736e617073686f745f70726576696577310970726f635f65786974000316776173695f736e617073686f745f70726576696577310866645f77726974650006030f0e01010103050201000204020302050405017001050505060101820282020608017f0141d091040b07940107066d656d6f727902000d7072696e745f6d6573736167650003195f5f696e6469726563745f66756e6374696f6e5f7461626c650100065f73746172740004195f656d736372697074656e5f737461636b5f726573746f7265000d175f656d736372697074656e5f737461636b5f616c6c6f63000e1c656d736372697074656e5f737461636b5f6765745f63757272656e74000f090a010041010b04020a090b0c01070af70c0e0300010b040010080b3e01017f100841b80928020022000440034020001005200028023822000d000b0b41bc09280200100541a009280200100541bc09280200100541001000000b5301027f02402000450d00200028024c1a2000280214200028021c47044020004100410020002802241100001a0b2000280204220120002802082202460d002000200120026bac410120002802281104001a0b0b6301017f41d80841d808280200220041016b200072360200419008280200220041087104404190082000412072360200417f0f0b419408420037020041ac0841bc08280200220036020041a408200036020041a008200041c0082802006a36020041000ba60501067f024041a0082802002202047f20020510060d0141a0082802000b41a40828020022016b2000490440419008418008200041b4082802001100000f0b0240024020004541e008280200410048720d0020002103034020034180086a220241016b2d0000410a470440200341016b22030d010c020b0b419008418008200341b40828020011000022012003490d02200020036b210041a40828020021010c010b4180082102410021030b024020004180044f044020000440200120022000fc0a00000b0c010b200020016a2104024020012002734103714504400240200141037145200045720d000340200120022d00003a0000200241016a2102200141016a2201410371450d0120012004490d000b0b2004417c7121050240200441c000490d002001200541406a22064b0d0003402001200228020036020020012002280204360204200120022802083602082001200228020c36020c2001200228021036021020012002280214360214200120022802183602182001200228021c36021c2001200228022036022020012002280224360224200120022802283602282001200228022c36022c2001200228023036023020012002280234360234200120022802383602382001200228023c36023c200241406b2102200141406b220120064d0d000b0b200120054f0d01034020012002280200360200200241046a2102200141046a22012005490d000b0c010b20044104492000410449720d00200441046b21060340200120022d00003a0000200120022d00013a0001200120022d00023a0002200120022d00033a0003200241046a2102200141046a220120064d0d000b0b200120044904400340200120022d00003a0000200241016a2102200141016a22012004470d000b0b0b41a40841a40828020020006a360200200020036a21010b20010bb50201037f41dc082802001a418008210103402001220041046a21014180828408200028020022026b20027241808182847871418081828478460d000b03402000220141016a210020012d00000d000b0240027f20014180086b2200027f41dc082802004100480440200010070c010b200010070b22012000460d001a20010b2000470d00024041e008280200410a460d0041a408280200220041a008280200460d0041a408200041016a3602002000410a3a00000c010b230041106b220024002000410a3a000f0240024041a0082802002201047f20010510060d0241a0082802000b41a4082802002201460d0041e008280200410a460d0041a408200141016a3602002001410a3a00000c010b4190082000410f6a410141b4082802001100004101470d0020002d000f1a0b200041106a24000b0bd80201077f230041206b220324002003200028021c2204360210200028021421052003200236021c200320013602182003200520046b2201360214200120026a2105200341106a210141022107027f024002400240200028023c200141022003410c6a1001100c0440200121040c010b03402005200328020c2206460d0220064100480440200121040c040b2001410841002006200128020422084b22091b6a220420062008410020091b6b220820042802006a3602002001410c410420091b6a2201200128020020086b360200200520066b2105200028023c20042201200720096b22072003410c6a1001100c450d000b0b2005417f470d010b2000200028022c220136021c200020013602142000200120002802306a36021020020c010b2000410036021c2000420037031020002000280200412072360200410020074102460d001a200220042802046b0b2101200341206a240020010b040041000b040042000b1500200045044041000f0b41b0092000360200417f0b0600200024000b1000230020006b4170712200240020000b040023000b0b4f07004180080b0c54686973206973205741534d004190080b010500419c080b01020041b4080b0e0300000004000000c804000000040041cc080b01010041dc080b05ffffffff0a0041a0090b021004'; 3mysql> SELECT * FROM information_schema.LIBRARIES 4 -> WHERE LIBRARY_SCHEMA='wasmlib' AND LIBRARY_NAME='lib2'\G 5*************************** 1. row *************************** 6 LIBRARY_CATALOG: def 7 LIBRARY_SCHEMA: wasmlib 8 LIBRARY_NAME: lib2 9LIBRARY_DEFINITION: 10 LANGUAGE: WASM 11 CREATED: 2025-10-23 11:07:18 12 LAST_ALTERED: 2025-10-23 11:07:18 13 SQL_MODE: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES, 14NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION 15 LIBRARY_COMMENT: 16 CREATOR: me@localhost 172 rows in set (0.000 sec)
자세한 정보와 예시는 Section 27.3.8, “Using JavaScript Libraries” 및
15.1.18 CREATE INDEX Statement
15.1.20 CREATE LOGFILE GROUP Statement