Birisi, JSON türünü parametre olarak SQL Server 2016'da saklı yordamına ADO.Net kullanarak C# ASP.Net kullanarak nasıl geçirileceğini örnek verebilir Çekirdek Web Api projesi? SQL Server 2016 saklı yordamı örneğini görmek ve C# ASP.Net Çekirdek Web Api'sinde JSON türünü geçmek istiyorum.SQL Server 2016'ya parametre olarak parametre olarak geçirme ASP.Net Core projesinde ADO.Net kullanılarak saklı yordam
cevap
sql dosyasında json data type
yok, saklı yordamınanumaranızı varchar
olarak gönderebilirsiniz.
Json'unuzu tabloya eşlemek isterseniz, verileri rows
ve columns
'a dönüştürmek için OPENJSON
kullanın.
CREATE PROCEDURE SaveJSON
@pID int,
@pJson nvarchar(max)
AS
BEGIN
INSERT INTO [YourTable]
([ID]
,[JSONData])
VALUES
(@pID
,@pJson)
END
sofraya json nesneleri eşleştirmek istiyorsanız bu
//json would be something like this
[
{ "id" : 2,"name": "John"},
{ "id" : 5,"name": "John"}
]
INSERT INTO YourTable (id,Name)
SELECT id, name
FROM OPENJSON(@pJson)
WITH (id int,
name nvarchar(max))
Here size json data
SQL ile başa çıkmak için ayrıntılı fikir verecektir çok iyi ve ayrıntılı bir makale yapabilirsiniz Sunucu 2016 yerel JSON desteğine sahip - yeni bir JSON veri türü (nvarchar
tabanlı) yanı sıra JSON biçiminde bir sorgudan çıktı dönüştürmek için JSON komutu
Microsoft ayrı JSON veri türü içermiyordu - bunun yerine, (JSON içine veritabanı satırları paketlemek için, ya da ilişkisel veri içine JSON ayrıştırmak için) NVARCHAR(n)
Eğer Çeşidi sütunlarda faaliyet gösterdikleri JSON fonksiyonları da vardır JSON metniniz var, JSON'dan veri ayıklayabilir veya JSON'un yerleşik işlevler JSON_VALUE
, JSON_QUERY
ve ISJSON
kullanılarak düzgün şekilde biçimlendirildiğini doğrulayabilirsiniz. Daha gelişmiş sorgulama ve analiz için OPENJSON
işlevi, bir dizi JSON nesnesini bir dizi satıra dönüştürebilir. Herhangi bir SQL sorgusu döndürülen sonuç kümesinde yürütülebilir. Son olarak, sorgu sonuçlarını JSON metni olarak biçimlendirmenizi sağlayan FOR JSON
yan tümcesi vardır.
Bu nedenle, saklı yordam parametreniz olarak NVARCHAR(MAX)
kullanmanızı öneririz.
- 1. SQL saklı yordam geçen parametre
- 2. Sql: saklı yordam için tablonun sütun değerini parametre olarak kullanarak
- 3. Düzeni bir parametre olarak parametre olarak geçirme
- 4. Tablo adıyla diğerlerinin arasında parametre olarak saklı yordam
- 5. Metodu parametre olarak geçirme yöntemi
- 6. Şablon sınıfını parametre olarak geçirme
- 7. Saklı yordamı yürütürken işlevi parametre olarak kullanma?
- 8. C# SQL Üst parametre olarak
- 9. SQL Server: koşul saklı yordam
- 10. iletki - parametre/parametre olarak
- 11. SQL Server saklı yordam satırı numarası sorunu
- 12. Nesne dizisini Java'da parametre olarak geçirme
- 13. SQL Server 2008'de varsayılan parametre değerleri saklı yordamı
- 14. SQL Server saklı yordam dönüş kodu tuhaflık
- 15. SQL fakir saklı yordam yürütme planı performans -
- 16. Saklı yordam için Ado.net yerine Entity Framework'ü nasıl kullanırım?
- 17. ASPX'ten Eval parametresini Javascript işlevine geçirerek parametre olarak geçirme
- 18. C++ 'bu' parametre olarak
- 19. SQL Server'da yinelemeli olarak adlandırılan saklı yordam mümkün mü?
- 20. Saklı yordamı parametre olarak tablo değerleri ile çalıştır
- 21. Saklı yordamda bir parametre olarak DESC ve ASC
- 22. Bir sınıfı parametre olarak geçirme ve yöntemleri devralma yöntemleri
- 23. Nesnelerin bir listesi üzerine parametre olarak bir işlev geçirme
- 24. Tek işlevli parametre olarak birden fazla dizeyi geçirme
- 25. CSR ayırt edici adı alanlarını OpenSSL'ye parametre olarak geçirme
- 26. Bir nesneyi pencere hizmeti için parametre olarak geçirme
- 27. Sınıf türünü parametre olarak geçirme ve örnek oluşturma
- 28. SQL Server: Saklı yordamda isteğe bağlı değişken
- 29. SQL Server: parametrelere dayalı tabloya yerleştirin saklı yordam sonuçları
- 30. SQL Server saklı yordam kontrol koşulu ve güncelleştir/ekle
Çok güzel bir soru. Ben de –
AFIAK istiyorum, Sql server 2016 bir JSON veri tipine sahip değil, bu yüzden jsonunuzu saklı prosedüre bir varchar olarak aktarıyorsunuz. Saklı yordamın içinde JSON verilerini nasıl işleyeceğini bilen [yerleşik işlevleri] (https://msdn.microsoft.com/en-us/library/dn921897.aspx) kullanabilirsiniz. [Bu makale.] 'De bir kod örneği görebilirsiniz (https://blogs.msdn.microsoft.com/sqlserverstorageengine/2015/09/08/passing-arrays-to-t-sql-procedures-as-json/) –
Sorunuzda iki cümle var ve her ikisi de * tam olarak aynı şeyi söylüyor. Ve sonra sorunuzun başlığı tam olarak aynı şeyi söylüyor * tekrar *. Lütfen sorunuzu temizleyin. – Tomalak