[SQL] 어떻게 SQL 쿼리에서 변수를 설정하는 방법?
SQL어떻게 SQL 쿼리에서 변수를 설정하는 방법?
나는 SQL 쿼리에서 변수를 설정하기 위해 노력하고있어 :
declare @ModelID uniqueidentifer
Select @ModelID = select modelid from models
where areaid = 'South Coast'
분명히 나는 그것이 작동하지 않는 한이 권리를하고 있지 않다. 누군가가 솔루션을 제안 할 수 있습니다?
감사!
해결법
-
==============================
1.
SELECT @ModelID = m.modelid FROM MODELS m WHERE m.areaid = 'South Coast'
SET @ModelID = (SELECT m.modelid FROM MODELS m WHERE m.areaid = 'South Coast')
SQL에서 SELECT 및 SET를 사용 사이의 차이에 대한이 질문을 참조하십시오.
이 select 문은 여러 값을 반환하는 경우 (나쁜로 시작하는) :
-
==============================
2.
SELECT @ModelID = modelid FROM Models WHERE areaid = 'South Coast'
당신의 선택 문이 여러 값을 반환하는 경우, 변수는 반환되는 마지막 값이 할당됩니다.
변수 SELECT 사용에 대한 참조를 들어 http://msdn.microsoft.com/en-us/library/aa259186%28SQL.80%29.aspx
-
==============================
3.
declare @ModelID uniqueidentifer --make sure to use brackets set @ModelID = (select modelid from models where areaid = 'South Coast') select @ModelID
-
==============================
4.난 그냥 선언 문에서 설정 선호
난 그냥 선언 문에서 설정 선호
DECLARE @ModelID uniqueidentifer = (SELECT modelid FROM models WHERE areaid = 'South Coast')
-
==============================
5.사용 TOP 1 쿼리가 여러 행을 반환하는 경우.
사용 TOP 1 쿼리가 여러 행을 반환하는 경우.
SELECT TOP 1 @ModelID = m.modelid FROM MODELS m WHERE m.areaid = 'South Coast'
-
==============================
6.이를 사용하지만 쿼리가 1 개 결과를 제공하는 것이 여러 결과가 예외가 발생합니다 기억할 수있다.
이를 사용하지만 쿼리가 1 개 결과를 제공하는 것이 여러 결과가 예외가 발생합니다 기억할 수있다.
declare @ModelID uniqueidentifer Set @ModelID = (select Top(1) modelid from models where areaid = 'South Coast')
또 다른 방법:
Select Top(1)@ModelID = modelid from models where areaid = 'South Coast'
-
==============================
7.
Select @ModelID =m.modelid From MODELS m Where m.areaid = 'South Coast'
이 경우 두 개 이상의 결과는 다음 반환 당신의 결과는 마지막 기록이다 경우. 당신이 예상 된 결과가 표시되지 않을 수 있습니다 당신이 두 개 더 레코드가 반환을 가질 수 있다면 그래서이 인식.
from https://stackoverflow.com/questions/3974683/how-to-set-variable-from-a-sql-query by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] PostgreSQL의에서 타임 스탬프에서 추출 날짜 (년 / 월 / 일) (0) | 2020.04.28 |
---|---|
[SQL] "여기서 1 = 1"문 [중복] (0) | 2020.04.28 |
[SQL] SQL 데이터베이스에 위도와 경도 데이터를 저장할 때 어떤 데이터 유형을 사용 하는가? [복제] (0) | 2020.04.28 |
[SQL] 테이블의 열 순서 걱정할 어떤 이유가 있나요? (0) | 2020.04.28 |
[SQL] 때 ... FOR UPDATE SELECT 사용 하는가? (0) | 2020.04.28 |