MS SqlServerのOracleの「デュアル」テーブルに相当するものは何ですか?
これは私の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は必要ありません
Oracleの場合
select 'sample' from dual
等しい
SELECT 'sample'
SQLサーバー内
Jean-FrançoisSavard で説明されているように、通常SQL ServerにDUAL
テーブルは必要ありませんが、過去には構文上の理由でDUAL
をエミュレートする必要がありました。次の3つのオプションがあります。
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)