Поскольку это помечено Oracle, и вы говорите, что вы используете Oracle Developer ...
Синтаксис, который вы используете, совершенно неверен для базы данных Oracle - вы пытаетесь использовать код, предназначенный для SQL SERVER.
Переписывание его оракула может быть столь же просто, как:
DELETE FROM OWNER.TABLE
WHERE USER_ID = 2323;
COMMIT;
Однако, если вы особенно нуждаетесь в переменной связывания затем:
VARIABLE UserID NUMBER;
BEGIN
:UserID := 2323;
END;
/
DELETE FROM OWNER.TABLE
WHERE USER_ID = :UserID;
COMMIT;
или (с помощью SQL переменной в PL /) :
DECLARE
UserID OWNER.TABLE.USER_ID%TYPE := 2323;
BEGIN
DELETE FROM OWNER.TABLE
WHERE USER_ID = UserID;
COMMIT;
END;
/
Однако, если SQL Server, то это работает:
SQL Fiddle
Сервер 2014 Настройка схемы MS SQL:
CREATE TABLE table_name (User_ID INT);
INSERT INTO table_name VALUES (2322);
INSERT INTO table_name VALUES (2323);
DECLARE @UserID INT = 2323;
BEGIN TRANSACTION;
DELETE FROM table_name
WHERE User_ID = @UserID;
COMMIT TRANSACTION;
Запрос 1:
SELECT * FROM table_name
Results:
| User_ID |
|---------|
| 2322 |
Oracle и tsql?!? Один тег должен быть удален ... – jarlh
если это копия/вставленная проблема будет двоеточием после 'int', который должен быть точкой с запятой –
Я изменяю точку с запятой, но все еще не так :( – RafalQA