Получить первые таблицы вставленных значений во вторую таблицу

Рассмотрим использование cts:triple-range-query . Его можно использовать в cts:search напрямую и вставить в ваш другой запрос. Это позволяет искать только отдельные троики, хотя ваш пример довольно прост.

Чтобы найти все отчеты AP Newswire и BBC, рассказывающие о посещающих страны Никсона:

query version "1.0-ml";

for $doc in cts:search(
  collection(),
  cts:and-query( (
    cts:element-value-query( xs:QName("source"), ("AP Newswire", "BBC") ),
    cts:triple-range-query(
      sem:iri("http://example.org/news/Nixon"),
      sem:iri("http://example.org/wentTo"),
      ()
    )
  ) )
)[1 to 10]
return (xdmp:node-uri($doc), $doc)

Вы также можете предварительно -execute SPARQL сначала разрешить более сложные запросы SPARQL и передать результат в cts: search с трехдиапазонным запросом. Например: найти все отчеты о конкретных странах, которые посетил Никсон (как сообщается AP Newswire и BBC):

let $countries := sem:sparql('
  SELECT DISTINCT ?country
  WHERE {
      ?country
  }
  ',
  (),
  (),
  cts:element-value-query( xs:QName("source"), ("AP Newswire", "BBC") )
) ! map:get(., "country")

for $doc in cts:search(
  collection(),
  cts:triple-range-query(
    sem:iri("http://example.org/news/Nixon"),
    sem:iri("http://example.org/wentTo"),
    $country[1 to 3]
  )
)[1 to 10]
return (xdmp:node-uri($doc), $doc)

Обратите внимание на тонкие различия между двумя приведенными выше примерами.

НТН!

2
задан marc_s 18 January 2019 в 19:14
поделиться

2 ответа

Хорошо, это то, что ты можешь сделать

foreach (var item in NewsTotal.items) { 
string newsItemsQuery = @"INSERT INTO [dbo].[TBL_T_NewsItems] ([NewsId],[ItemId]) SELECT NewsId, ItemId FROM ABC"; 
 }
.
0
ответ дан Cujoey 18 January 2019 в 19:14
поделиться

Пожалуйста, проверьте мой ответ ниже

transaction = con.BeginTransaction();
string query1 ="Insert Into ABC(NewsCode,Comment) output INSERTED.ID Values (@NewsCode,@Comment)"; 
cmd = db.GetSqlStringCommand(query1);
cmd.Transaction = transaction;
cmd.Connection = con;

db.AddInParameter(cmd, "NewsCode", DbType.Int32, News.NewsCode);
db.AddInParameter(cmd, "Comment", DbType.String,News.Comment);

int modifiedRowId =(int)cmd.ExecuteScalar();
0
ответ дан Derviş Kayımbaşıoğlu 18 January 2019 в 19:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: