programing

MS SQL Server의 Oracle "Dual" 테이블과 동등한 것은 무엇입니까?

goodsources 2023. 2. 10. 21:46
반응형

MS SQL Server의 Oracle "Dual" 테이블과 동등한 것은 무엇입니까?

MS SQL Server의 Oracle "Dual" 테이블과 동등한 것은 무엇입니까?

이건 내 거야Select:

SELECT pCliente,
       'xxx.x.xxx.xx' AS Servidor,
       xxxx AS Extension,
       xxxx AS Grupo,
       xxxx AS Puerto
FROM DUAL;

sql-server,거기에는 없다dual간단히 할 수 있다

SELECT pCliente,
       'xxx.x.xxx.xx' AS Servidor,
        xxxx AS Extension,
        xxxx AS Grupo,
        xxxx AS Puerto

단, 만약 당신이 어떤 코드를 전송했기 때문에 문제가 있다면Oracle에 대한 참조dual테이블을 다시 작성할 수 있습니다.

CREATE TABLE DUAL
(
DUMMY VARCHAR(1)
)
GO
INSERT INTO DUAL (DUMMY)
VALUES ('X')
GO

MSSQL 서버에는 DUAL이 필요 없습니다.

신탁으로

select 'sample' from dual

와 동등하다

SELECT 'sample'

sql 서버에서

보통은 필요 없지만DUALJean-Franchois Savard에 의해 설명되었듯이 SQL Server의 표, 나는 에뮬레이트할 필요가 있었다.DUAL통사적인 이유 때문에요.다음은 세 가지 옵션입니다.

작성하다DUAL테이블 또는 뷰

-- A table
SELECT 'X' AS DUMMY INTO DUAL;

-- A view
CREATE VIEW DUAL AS SELECT 'X' AS DUMMY;

생성 후 Oracle과 동일하게 사용할 수 있습니다.

공통 테이블 표현식 또는 파생 테이블 사용

만약 당신이 필요하다면DUAL단일 쿼리 범위에 대해서는 다음과 같은 작업을 수행할 수 있습니다.

-- Common table expression
WITH DUAL(DUMMY) AS (SELECT 'X')
SELECT * FROM DUAL

-- Derived table
SELECT *
FROM (
  SELECT 'X'
) DUAL(DUMMY)

SQL Server에는 듀얼 테이블이 없습니다.를 붙이려면WHERE절은 다음과 같이 직접 입력할 수 있습니다.

SELECT 123 WHERE 1<2

MySQL과 Oracle에서 WHERE 절을 사용하려면 FROM 절이 필요하다고 생각합니다.

SELECT 123 FROM DUAL WHERE 1<2

이것은 로컬 변수에 따라 일부 테이블을 결합하고 해당 테이블에서 정보를 얻어야 할 때 도움이 될 수 있습니다.

참고: 로컬 변수는 다음과 같아야 합니다.

Select  @XCode     as 'XCode '
       ,@XID       as 'XID   '  
       ,x.XName    as 'XName '
       ,@YCode     as 'YCode '
       ,@YID       as 'YID   '
       ,y.YName    as 'YName '
From (Select 1 as tst) t
Inner join Xtab x on x.XID = @XID
Inner join Ytab y on y.YID = @YID

그것보다 훨씬 간단해.데이터 유형을 설정하려면 리터럴 값을 사용합니다.특수 문자가 필요한 경우 열 이름 주위에 따옴표를 넣습니다.데이터 행이 1개 필요한 경우 WHERE 절을 건너뜁니다.

SELECT  'XCode' AS XCode
       ,1 AS XID  
       ,'XName' AS "X Name"
       ,'YCode' AS YCode
       ,getDate() AS YID
       ,'YName' AS "Your Name"
 WHERE 1 = 0

언급URL : https://stackoverflow.com/questions/28371342/what-is-the-equivalent-of-the-oracle-dual-table-in-ms-sqlserver

반응형