«t-sql» etiketlenmiş sorular

Transact-SQL (T-SQL), Microsoft SQL Server ve SAP'ın Sybase tarafından kullanılan bir SQL lehçesidir.

5
Yedekliliği kontrol etmek için tabloları düşürmeden gizlemek / devre dışı bırakmak nasıl?
Korumak ve webservice yöntemleri ve artık kullanılmayan veritabanı tabloları içeren eski bir eski sistemi genişletmek zorunda. Tabloların gerçekten gereksiz olduğundan tamamen emin olmadığım için onları düşürmekten korkuyorum. Aynı etkiyi (tablolar artık kullanılamaz) düşürmeden elde etmenin başka bir yolu var mı? Benim fikrim onları Deletedgeçerli varsayılandan farklı bir şemaya (ör. ) …

2
PIVOT sorgusu ile ilgili yardım
Aşağıdaki yapıya sahip bir tablo var: CREATE TABLE [dbo].[AUDIT_SCHEMA_VERSION]( [SCHEMA_VER_MAJOR] [int] NOT NULL, [SCHEMA_VER_MINOR] [int] NOT NULL, [SCHEMA_VER_SUB] [int] NOT NULL, [SCHEMA_VER_DATE] [datetime] NOT NULL, [SCHEMA_VER_REMARK] [varchar](250) NULL ); bazı örnek veriler (sqlfiddle ile ilgili sorun gibi görünüyor ... bu yüzden bazı örnek veriler koymak): INSERT INTO [AUDIT_SCHEMA_VERSION]([SCHEMA_VER_MAJOR],[SCHEMA_VER_MINOR],[SCHEMA_VER_SUB],[SCHEMA_VER_DATE],[SCHEMA_VER_REMARK]) VALUES(1,6,13,CAST('20130405 04:41:25.000' …

2
MERGE tempdb kullanıyor mu?
Aşağıdaki sorguyu düşünün: MERGE [Parameter] with (rowlock) AS target USING (SELECT @AreaId, @ParameterTypeId, @Value) AS source (AreaId, ParameterTypeId, Value) ON (target.AreaId = source.AreaId AND target.ParameterTypeId = source.ParameterTypeId) WHEN MATCHED THEN UPDATE SET target.Value = source.Value, @UpdatedId = target.Id WHEN NOT MATCHED THEN INSERT ([AreaId], [ParameterTypeId], [Value]) VALUES (source.AreaId, source.ParameterTypeId, source.Value); …
12 sql-server  t-sql 




1
Test verileri için büyük dizeler oluşturma
Geçenlerde burada bir soru için genel test verileri içeren bazı büyük dizeleri oluşturmaya çalışıyordu . Görünüşe göre bir stringi çarpmanın bir yolunu biliyordum. Ancak artık sözdizimini hatırlayamıyorum. Gibi bir şey arıyorum: SELECT 'A' + ('a' * 1000) + 'ha!' "Aaaaaaaaaaaaaaaha!" (Elbette, çok daha uzun.) Bu T-SQL'de mümkün mü? (Ya da …
12 sql-server  t-sql 

5
SQL saklı yordamını aynı anda bir kişi tarafından çalıştırılmak üzere nasıl sınırlayabilirim?
Temelde bir tablodan değerleri seçer ve başka bir tür arşivleme ekler saklı yordam var. Aynı anda birden fazla insanın bunu yapmasını önlemek istiyorum. Bu prosedür çalışırken, başka kimsenin başlamasını istemiyorum, ancak serileştirme istemiyorum, diğer kişi işlemi bitirdikten sonra prosedürü çalıştıracak. Ben prosedür çalışırken ben hata almaya başlamak için çalışan diğer …

4
MS-SQL'de nesne adlarını ayırmak için herhangi bir (gizli) yerleşik işlev var mı?
Bazen nesne adlarını (tanımlayıcıları) bazı veritabanlarımızda, örneğin bazı parametre tablolarında depolarım. '=' Veya 'LIKE' karşılaştırma işleçlerini kullanarak bu tablolardan kayıtları seçtiğim için, bu adları her zaman parantez içinde ya da parantezsiz olarak saklamaya dikkat etmeliyim . IF EXISTS (SELECT 1 FROM MYTABLE WHERE OBJ_NAME = '[TABLE_NAME]'; veya IF EXISTS (SELECT …
12 sql-server  t-sql 

2
Saklı yordamda işlem
Tek bir işlemde bir UPDATE ve bir INSERT gerçekleştirmek gerekir. Bu kod kendi başına iyi çalışıyor, ancak kolayca aramak ve gerekli parametreleri iletmek istiyorum. Saklı bir yordamda bu işlemi iç içe çalıştığımda, çok sayıda sözdizimi hatalarına çalıştırın. Kolayca çağrılabilmesi için aşağıdaki kodu nasıl ekleyebilirim? BEGIN TRANSACTION AssignUserToTicket GO DECLARE @updateAuthor …

1
Saklı yordamın sonuçlarını tablo değişkenine ekleme
Tablo değişkeninde değerleri saklayan bir saklı yordam var. Bu değerleri seçiyorum ve prosedür çağrıldığında bunları döndürüyorum. Başka bir tablo değişkeninde bu dönüş değerlerini ayarlamaya çalışıyorum ama anlayamıyorum. Saklı yordam ALTER PROCEDURE [dbo].[GetOrSetDomainId] @DomainName varchar(50), @DomainUrl varchar(50) AS BEGIN DECLARE @DomainId bigint; DECLARE @NumberOfRwos bigint; DECLARE @DomainHistory TABLE ( DomainId bigint, …

2
Bir girişi T-SQL (SSMS değil) kullanarak bir veritabanına nasıl eşleyebilirim?
Koddaki tüm izinleri ve her şeyi atamamı gerektiren bir program yazıyorum. Bu kısımda sıkışıp kaldım: Sadece msdb veritabanı için "Harita" altında küçük bir kutu tıklatıp bu kullanıcıyı SqlAgentUser rolüne atama eşdeğer yapmak istiyorum. SQL Server Agent işleri eklemek / düzenlemek için bir kullanıcıya ihtiyacım var. SSMS kullanarak ayarları doğru alabilirim …

4
İşleri, Zamanlamaları ve Sonraki Zamanlanmış Çalıştırma Günlerini Listeleme
İşleri, Zamanlamaları ve Sonraki Zamanlanmış Çalıştırma Günlerini Listeleme İşleri, Zamanlamaları ve Sonraki Zamanlanmış Çalıştırma Tarihlerini listelemeye çalışıyorum. Ancak başarılı görünmüyorum. sysjobactivity next_scheduled_run_date, ihtiyacım olan bu, ama hem İş hem de Programa bağlamak için anlayamıyorum. Geçmekten başka bir yol varsa sysjobactivity, lütfen bana rehberlik et. SELECT sj.name AS jobName , ss.name …

3
Ondalık ayırıcı olarak virgülle dize sayısal değerlerini NUMERIC (10, 2) biçimine dönüştürme
Yunanca biçimlendirilmiş sayılar (bin ayırıcı ve ondalık ayırıcı olarak virgül olarak) içeren varchar sütunlarının bir SQL tablo var Klasik dönüşüm CONVERT(numeric(10,2),REPLACE([value],',','.')) çalışmıyor çünkü. (binlik ayırıcı) dönüşümü öldürür Örneğin dene CONVERT(numeric(10,2),REPLACE('7.000,45',',','.')) Bu değerleri sayısal olarak dönüştürmek istiyorum (10,2) Bununla nasıl başa çıkacağınıza dair herhangi bir öneriniz var mı?

1
Transact-SQL'de toplama işlevlerinden sonra eşittir işareti (=) koyabilir miyiz?
Böyle bir komut dosyası ile karşılaştım: set @sum = sum = (case when somecol1 is null then DATEDIFF(d,[somecol2],somecol3) else 0 end) İkinci anahtar kelime toplamından sonra eşittir işaretinin (=) anlamını anlayamıyorum. Sorguyu çalıştırdığımda, hem eşittir işaretiyle hem de olmadan herhangi bir hata göstermiyor. Anahtar kelimeden sonra eşittir işareti koymanın amacını …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.