2016-07-27 4 views
-7

Это код в oracle, но не работает в SQL Server. Может кто-то пожалуйста переписать код для Microsoft SQL Server 2012?База данных в SQL Server 2012

CREATE OR REPLACE TRIGGER "BI_NEWACCOUNT" 
    before insert on "NEWACCOUNT"    
    for each row 
begin 
    select "NEWACCOUNT_SEQ".nextval into :NEW.ACCOUNTNO from dual; 
END; 
+8

Я голосующий, чтобы закрыть этот вопрос как не по теме, потому что Stack Overflow - это * не * перевод кода. Вы должны попытаться ** написать код самостоятельно **, а затем, если у вас есть проблема, вы можете ** опубликовать то, что вы пробовали **, с ** ясным объяснением того, что не работает **. –

+0

У меня были некоторые проблемы .. но затем исправление на каждом шаге было трудным –

+0

ОК более конкретно ... Что мне писать вместо «до», «для каждой строки» в коде ??? , и когда я запускаю его «NEWACCOUNT_SEQ», эта часть говорит, что идентификатор с несколькими частями не может быть связан? –

ответ

0

SQL Server не поддерживает последовательности, такие как Oracle. Забудьте о триггере и просто установите NEWACCOUNT_SEQ как столбец IDENTITY.

+0

SQL имеет последовательности. Но, разумеется, синтаксис значительно отличается от того, как Oracle. https://msdn.microsoft.com/en-us/library/ff878091.aspx –

+0

Столбец идентификатора предоставит то, что ему нужно. Да SQL 2012 предоставляет последовательности. –

+0

С SQL Server 2012 мы можем создать последовательность – Aparna

Смежные вопросы