database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 2124 게시물 읽기
No. 2124
프로시져안의 쿼리문의 top 에 변수값을 받을 경우 ...
작성자
janis
작성일
2005-07-19 11:23
조회수
2,604

안녕하세요

아래처럼 프로시져안에서 변수값을 TOP 에 사용하려하면 에러가 납니다

변수타입을 int 로도 해보고 나름대로 다양한 방법을 시도했는데 않되네요

 

CREATE PROC test

@no varchar(10)

AS

SELECT TOP @no FROM 어쩌구... 이하 생략 ...

 

할수없이 아래처럼 수정했습니다

SET @SQL = 'SELECT TOP ' + @no + ' FROM 어쩌구 ...이하 생략'

EXEC(@SQL)

 

처음처럼 사용할시 왜 에러가 나느지요?

답변 미리 감사드립니다

이 글에 대한 댓글이 총 1건 있습니다.

 

  MSSQL 문법상 TOP절에는 변수를 허용하지  않습니다.
(BOL에 보시면 n이나 integer라고 되어 있는 것을 확인 하실 수 있을 것 입니다.)

 동적 쿼리 대신에 다른 top 절과 동일한 효과를 얻기를 원하신다면
ROWCOUNT라는 세션 옵션을 변경해 보십시요..

  주의하실 것은 select문 뿐아니라, insert delete update와 같은데이타 수정 문도
영향을 받는다는 것과, 초기 상태로 변경(SET ROWCOUNT 0;) 하거나 세션이 끝나기
전에는 계속 영향을 받는 다는 것 입니다.


구문
SET ROWCOUNT { number | @number_var }

가을남자님이 2005-07-19 11:54에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
2127시간이 너무 많이 걸릴때 한번 시도해 보셔요
석이
2005-07-19
2822
2126inner join 에서 A.[open].. [4]
최장원
2005-07-19
1918
2125공백값을 null로 변경 하려면 [2]
베캄
2005-07-19
3520
2124프로시져안의 쿼리문의 top 에 변수값을 받을 경우 ... [1]
janis
2005-07-19
2604
2123지난번 프로시져 자동실행 질문 입니다. [1]
peter
2005-07-19
2261
2121MS-SQL과 C와의 연동을 하려고 합니다. [2]
ほや™
2005-07-18
2085
2120한 컴퓨터에 두개의 MS SQL server 깔 경우 구분은 어떻게 하나요? [1]
초보
2005-07-18
2071
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.021초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다