Как соединить государственные деятели DML в CommandText команды объекта - PullRequest
0 голосов
/ 24 ноября 2008

Для получения данных из базы данных SQL Server, я могу использовать код как показано ниже

Dim sql As String = "SELECT emp_id, emp_name FROM emp; SELECT dep_id, dep_name FROM department;"
Dim da As New SqlClient.SqlDataAdapter(sql, connString)
Dim ds As New DataSet("Data")

da.Fill(ds)

Я получу две таблицы в наборе данных ds . Как я могу кодировать то же самое для базы данных Oracle? Я пытаюсь кодировать, как указано выше, но я получил сообщение об ошибке. ORA-00911: недопустимый символ

Кроме того, я хотел бы также использовать оператор DELETE. Например,

Dim sql As String = "DELETE FROM emp WHERE emp_id = 1; DELETE FROM department WHERE dep_id = 4"
Dim cmd As New SqlCommand(sql, conn)
cmd.ExecuteNonQuery()

Спасибо.

1 Ответ

1 голос
/ 27 ноября 2008

Чтобы выполнить несколько операторов DML объектом Command, операторы должны быть помещены в блок BEGIN ... END . Например,

Dim sql As String = "BEGIN DELETE FROM emp WHERE emp_id = 1; DELETE FROM department WHERE dep_id = 4; End;"
...
...