Преобразование типов в oracle

программирование C# базы данных oracle

1) в проге c# формируется строка вида "1111,2222,3333"
2) в запрос с параметром надо вставить эту строку, но без кавычек (одинарных для строк оракла).

Примерный код:
OracleCommand command = m_OracleConnection.CreateCommand();
command.CommandText = @"INSERT INTO ХХХ (yyy) Values (свой_тип_collection(:1))";
command.Parameters.Add(":1",OracleType.VarChar);
в цикле:
command.Parameters[":1"].Value = "1111,2222,3333"
command.ExecuteNonQuery();

В итоге получается запрос "INSERT INTO ХХХ (yyy) Values (свой_тип_collection('1111,2222,3333'))"

Как можно получить запрос "INSERT INTO ХХХ (yyy) Values (свой_тип_collection(1111,2222,3333))" ?
Ответы:
как по мне то просче вставлять записи в промежуточную таблицу в виде строки а потом парсить ее и преобразовывать в свой тип ето 1 вариант
2) можно сделать функцию которая на фход получает строку а выдает любой нужный тип
 insert into XXX(YYY) values(fn_return_some_type(:String_Param))
3) может ті разкажеш что у тебя за свой_тип_collection ??? и какой тип поля YYY ???
не знаю есть в с такое но в яве можно сделать три параметра(пример, Values (свой_тип_collection(:1,:2,:3) ) и вставлять не как String а как Int
Это легко делается в оракле функцией TRIM


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.