Что такое эквивалент Oracle таблицы "Двойной" в SqlServer?
Что такое эквивалент Oracle таблицы "Двойной" в SqlServer
это мой Select
SELECT pCliente,
'xxx.x.xxx.xx' AS Servidor,
xxxx AS Extension,
xxxx AS Grupo,
xxxx AS Puerto
FROM DUAL;
Ответы
Ответ 1
В 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
Ответ 2
Вам не нужно DUAL на сервере mssql
в оракуле
select 'sample' from dual
равно
SELECT 'sample'
в sql сервере
Ответ 3
Обычно вам не нужна таблица DUAL
в SQL Server, как объясняется Jean-François Savard, мне нужно было эмулировать 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)
Ответ 4
В SQL Server нет двойной таблицы. Если вы хотите поместить предложение WHERE, вы можете просто поставить его прямо следующим образом:
SELECT 123 ГДЕ 1 < 2
Я думаю, что в MySQL и Oracle им нужно предложение FROM, чтобы использовать предложение WHERE.
SELECT 123 FROM DUAL WHERE 1 < 2;