일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 태국
- PostgreSQL
- documentdb
- vba
- PayPay
- pyenv
- 메르페이
- react.js
- 三井住友カード
- codebuild
- node.js
- 釜つる
- 미츠이 스미토모
- 熱海
- 방콕
- 페이페이
- terraform
- Python
- 프라하
- 아타미
- JenkinsFile
- CSV
- typescript
- 카마츠루
- duckdb
- 뮌헨
- local
- Selenium
- javascript
- 체코
- Today
- Total
목록Tech/DB・SQL (14)
도쿄사는 외노자
개요dbt project 를 손쉽게 검증할 수 있도록 로컬 개발 환경을 구축하기https://github.com/idenrai/templates/tree/main/dbt_duckdb_local상세아래의 순서로 기재dbtduckdbdbt project 를 작성하여, duckdb 와 연계dbthttps://docs.getdbt.com/docs/core/pip-install기본적으로는 아래의 커맨드로 인스톨 가능pip install dbt-core dbt-duckdbdbt project 작성dbt init 으로 프로젝트 작성duckdbhttps://duckdb.org/#quickinstallbrew install duckdbCreate DB아래의 커맨드로 간단히 DB 작성 가능duckdb [DB 명].db예시..
AWS DocumentDB를 이용하게 되어서, ACID트랜잭션이라거나 데이터 항목 제어 등을 조사할 필요가 있었다. 사실상 MongoDB를 쓰는 거나 마찬가지라, MongoDB의 내용 위주로 인풋을 하게 되었는데... 그 중, 데이터 항목 제어 관련해서 메모를 좀 해 두도록 한다. MongoDB는 아래와 같이 Collection에 Validator를 달아주어 각 항목의 Type이나 범위, Required 등을 제어 가능하다. db.createCollection("students", { validator: { $jsonSchema: { bsonType: "object", required: [ "name", "year" ], properties: { name: { bsonType: "string", desc..
RDS에 PostgreSQL을 깔고 DB를 구축했다. DB에는 Master와 Transaction의 두가지 스키마를 만들었고, 아래와 같이 롤을 부여하기로 했다. Role 이름 Master Transaction 설명 master_user CRUD - 마스터 테이블 유지보수용 롤 readonly_user R R 열람용 롤 normal_user R CRUD 시스템 가동에 필요한 권한 부여 롤 super_admin CRUD CRUD 전 권한 부여 User 이름 Role master_user_01 master_user readonly_user_01 readonly_user normal_user_01 normal_user normal_user_02 normal_user super_admin_01 super_adm..
이번 플젝의 테스트를 위해 PostgreSQL을 이용하게 되었다. 모든 테이블에 작성일, 작성자, 갱신일, 갱신자 정보를 넣기로 정해서... 그럴거면 그냥 CREATE/UPDATE시에 자동으로 입력되도록 할까 하고 조금 알아보았다. MySQL에선 그냥 CREATE시에 OnCreate, OnUpdate를 넣으면 끝날 일인데... PostgreSQL에선 그런게 없고, Function을 만들고 Trigger를 테이블과 연결시켜야 한댄다. 뭔가 귀찮아... 그래도 별 수 없으니 여하튼 만들어 보았다. 만드는 순서는 Table→Function→Trigger순이다. 1. Table 작성 작성일, 작성자 항목은 초기치를 지정해 주면 이후 변동할 일은 없다. 고로, CREATE시에 DEFAULT로 초기치를 설정해 주는..
Oracle과 postgreSQL을 동시에 사용하는 시스템을 다루던 중,언제나처럼 LIMIT를 써서 건수 제한을 걸었더니 에러가 뜨더라.그래서 검색해 보니 ORACLE에는 LIMIT가 없었다...알아본 김에 적어두었음. 1234ORACLE : SELECT * FROM TABLE WHERE ROWNUM
주문서를 출력하는 과정에서特約条項을 쓸 칸이 부족하다는 의견이 들어왔다. 하여, 기존의 1~20건까지의 特約条項에 1줄씩 설정하는 방식을varchar(8000)의 特約条項 항목을 만들어 화면상에서 TextArea로 한방에 집어넣는 방식으로 바꾸었다.이미 기존에 입력되어 있던 주문서 내용이 있기에본방 릴리즈를 하기에 앞서, 기존의 20항목을 1항목에 넣는 작업을 해야 했다. 방법은 다음과 같다.INDENT_TABLE의 特約条項1~20까지의 아래에 새로운 特約条項 항목을 만들고일단 아래의 SQL을 날려, 1~20까지의 사이사이에 줄바꿈문자를 넣어 特約条項에 입력하였다.이후 필요없어진 特約条項1~20을 삭제하는 것으로 완료. 12345678910111213UPDATE INDENT_TABLESET 特約条項 = ..
1. Oracle - 테이블 전체 복사 : CREATE TABLE [새 테이블명] AS SELECT * FROM [복사할 테이블명] - 테이블 일부 복사 : CREATE TABLE [새 테이블명] AS SELECT [칼럼1], [칼럼2], … FROM [복사할 테이블명] WHERE [기타 조건] - 테이블 구조만 복사 : CREATE TABLE [새 테이블명] AS SELECT * FROM [복사할 테이블명] WHERE 0=1; 2. SQL Server - 테이블 전체 복사 : SELECT * INTO [새 테이블명] FROM [복사할 테이블명] - 테이블 일부 복사 : SELECT [칼럼1], [칼럼2], … INTO [새 테이블명] FROM [복사할 테이블명] WHERE [기타 조건] - 테이블 구조..
요즘 販売管理 관련 솔루션을 만지고 있는데,주문서 작성 페이지를 다루는 과정에서주문서 테이블과 주문서(상세) 테이블에 한번에 데이터를 집어넣는 동작을 넣어야 했다. 주문서 테이블과 그에 해당하는 상세 테이블을 연결지을 키가 필요한데Update면 상관없지만, Insert의 경우 採番マスタ가 없어서 조금 애매하게 되었다.데이터를 그냥 싸그리 모아서 두 테이블에 한번에 집어넣는게 가장 단순무식하긴 한데... 상세 테이블 입력창이 너무 많기도 하고 내가 귀찮기도 해서그냥 테이블을 긁어서 배열로 만들어 JSON으로 넘기려던 중이었기에이 짓을 다시 하려니 너무 승질나더라. 분명 방금 입력한 애를 뽑아올 방법이 있을거라 생각해서 살펴보니OUTPUT이라는 애가 있었다! 일단 자세한 설명은 다음과 같다.OUTPUT Cl..
List를 콤마로 구분한 String으로 만들어,이를 VARCHAR2 Parameter로 Oracle Stored Procedure로 전송하였다. 이제는 이를 Procedure내에서 파싱할 차례. i_cdDataList라는 이름으로 해당 String을 받아왔다.이를 커서에 넣어서 LOOP로 돌리기로 하였고,결론적으론 CD_DATA라는 이름으로 데이터를 뽑아낼 수 있다. 12345678910111213141516171819202122-- データリスト CURSOR CUR_CD_DATA_LIST IS SELECT CD_DATA -- データ FROM ( SELECT TRIM (REGEXP_SUBSTR (CD_DATA_LIST, '[^,]+', 1, LEVEL)) AS CD_DATA FROM ( SELECT i_..
1. 엑셀을 열어, 셀 설정을 문자열로 바꾼다. 2. 데이터를 작성, 혹은 A5등에서 복사해 온다. 첫 번째 라인의 항목명은 이후 데이터 입력 시 제거 가능하니, 구분을 위해 넣어두어도 상관없다. 3. 엑셀에서 작성한 데이터를 그대로 복사하여, 秀丸에 붙여넣는다. 4. TXT 파일로 저장한다. 에러가 나올 수 있으나, 무시하고 확인, 확인... 만일 A5의 데이터를 복사한 것이라면, 이 과정에서 (NULL)이 ?(NULL)?로 바뀐다. 5. 파일 확장자를 CSV로 변환한다. 6. A5M2에서 데이터를 넣을 테이블을 열어, 「CSV/TSVからデータ入力」을 선택. 7. CSV파일을 선택한다. 8. 설정 확인 후, 문제가 없다면 OK를 누른다. 1) フォーマット : TSV 2) 「データセット」와 「CSVファイ..