Quel est l'équivalent de la table "Dual" Oracle dans MS SqlServer?
Voici mon Select
:
SELECT pCliente,
'xxx.x.xxx.xx' AS Servidor,
xxxx AS Extension,
xxxx AS Grupo,
xxxx AS Puerto
FROM DUAL;
Dans sql-server
, il n'y a pas dual
vous pouvez simplement faire
SELECT pCliente,
'xxx.x.xxx.xx' AS Servidor,
xxxx AS Extension,
xxxx AS Grupo,
xxxx AS Puerto
Toutefois, si votre problème vient du fait que vous avez transféré du code de Oracle
, qui fait référence à dual
, vous pouvez recréer la table:
CREATE TABLE DUAL
(
DUMMY VARCHAR(1)
)
GO
INSERT INTO DUAL (DUMMY)
VALUES ('X')
GO
Vous n'avez pas besoin [~ # ~] dual [~ # ~] dans le serveur mssql
sous Oracle
select 'sample' from dual
est égal à
SELECT 'sample'
dans le serveur SQL
Bien que vous n’ayez généralement pas besoin d’une table DUAL
dans SQL Server comme expliqué par Jean-François Savard , j’ai dû émuler DUAL
pour des raisons syntaxiques dans le passé. . Voici trois options:
DUAL
-- A table
SELECT 'X' AS DUMMY INTO DUAL;
-- A view
CREATE VIEW DUAL AS SELECT 'X' AS DUMMY;
Une fois créé, vous pouvez l'utiliser comme dans Oracle.
Si vous avez simplement besoin de DUAL
pour l'étendue d'une requête unique, vous pouvez également le faire:
-- Common table expression
WITH DUAL(DUMMY) AS (SELECT 'X')
SELECT * FROM DUAL
-- Derived table
SELECT *
FROM (
SELECT 'X'
) DUAL(DUMMY)