본문 바로가기
반응형

#SQL4

SQL(query) DB, column 명이 예약어와 겹칠경우 해결방법 sql 쿼리에서 db나 column명이 예약어와 겹쳐서,syntax error 가 발생하는 경우에 어떻게 하면 해결할 수 있는지 확인해보겠습니다.아래와 같은 모양의 테이블이 있다고 가정할 때,select order from tbl; 과 같이 쓰면 에러가 발생합니다. 컬럼명타입numintorderintcontenttext에러 문구 예시You have an error in your SQL syntax; it seems the error is around: 'order from tbl' at line 2이를 피하기 위해서는 각 DB별로 아래와 같은 방식으로 해결합니다.MYSQL / mariadb` `로 감싼다.따옴표가 아니라 키보드에서 숫자 1 왼쪽에 있는 문자입니다.억음브호, backtick, backquo.. 2024. 7. 26.
php 에서 named parameter sql 간단히 사용하기 php 에서 named parameter sql 사용하여 fetch를 간단히 할 수 있는 함수 입니다. /* example $dsn = 'mysql:host=localhost;dbname=mydatabase'; $username = 'myusername'; $password = 'mypassword'; $pdo = new PDO($dsn, $username, $password); $pdo->exec("set names utf8"); $sql = 'SELECT * FROM mytable WHERE name = :name AND age > :age'; $param = array("param1"=>"value1", "param2"=>"value2"); */ function named_query($sql, $p.. 2023. 10. 25.
[Oracle] SQL Developer 프로시저 커서(CURSOR) 출력 하기 (REFCURSOR), 프로시저로 결과받기, 프로시저 커서 출력방법 [Oracle] SQL Developer 프로시저 커서(CURSOR) 출력 하기 (REFCURSOR), 프로시저로 결과받기, 프로시저 커서 출력방법 Oracle SQL Developer 에서 프로시저의 커서로 결과값을 리턴받는 법은 다음과 같이 변수를 선언하여 프로시저의 인자에 할당하면 됩니다. VAR rc REFCURSOR EXEC TEST('10', :rc) PRINT rc 위와같이 입력한 후, 스크립트 실행(또는 F5키)을 하면 프로시저의 실행 결과가 커서로 입력이 되고, 결과가 아래쪽에 출력이 됩니다. 참고로 이 예제에서 사용한 프로시저 내용은 다음과 같습니다. create or replace PROCEDURE TEST ( input IN NUMBER , output OUT SYS_REFCURSO.. 2023. 4. 11.
DB 별 SQL 결과 갯수제한, 페이징 처리, limit, offset, mysql, mariadb, mssql, oracle DB별 SQL 결과 갯수제한하는 법을 기록합니다. (주로 페이징을 위해 쓰이는 쿼리입니다. MySQL, Maria DB -- limit [오프셋, 개수] 키워드 사용 -- 아래 예의 경우에는 c1 컬럼기준으로 내림차순 정렬한 뒤, 0번째부터 10개의 row를 가져오겠다는 뜻입니다. select * from tbl order by c1 desc limit 0, 10; MSSQL -- top [갯수] 키워드 사용 -- 아래 예의 경우에는 c1 컬럼기준으로 내림차순 정렬한 뒤, 맨 위부터 10개의 row를 가져오겠다는 뜻입니다. select top 10 * from tbl order by c1 desc limit 0, 10; Oracle (오라클) / tibero (티베로, 티배로) -- rownum 키워드 .. 2021. 12. 7.
반응형