タグ付けされた質問 「sql-server」

Microsoft SQL Serverは、リレーショナルデータベース管理システム(RDBMS)です。このタグは、Compact、Express、Azure、Fast-track、APS(以前のPDW)、Azure SQL DWを含むすべてのSQL Serverエディションに使用します。他のタイプのDBMS(MySQL、PostgreSQL、Oracleなど)には、このタグを使用しないでください。データベースに直接関連している場合を除き、このタグをソフトウェアやモバイル開発の問題に使用しないでください。

15
SQL Serverは既存のテーブルに自動インクリメント主キーを追加します
タイトルとして、すでに150000レコードが入力されている既存のテーブルがあります。Id列(現在はnull)を追加しました。 クエリを実行してこの列に増分番号を入力し、主キーとして設定して自動増分をオンにできると仮定しています。これは続行する正しい方法ですか?もしそうなら、どうすれば最初の数字を埋めることができますか?


4
SQLステートメントを検索可能にするのは何ですか?
定義により(少なくとも私が見た限りでは)引数を指定できるということは、クエリが使用する実行プランをクエリエンジンが最適化できるようにすることを意味します。私は答えを調べてみましたが、主題について多くはないようです。だから問題は、SQLクエリを検索可能にするものとは何ですか?どんなドキュメントでも大歓迎です。 参考:SARGable

2
SQL Server Management StudioでSQLをフォーマットする
Visual Studioおよびその他のIDEでは、キーボードショートカットを使用して、メニューから、または入力時に自動的に、コードを簡単に自動フォーマットできます。 SQL Server Management Studioでこの標準機能を有効にする方法がまだあるかどうか疑問に思っていましたか? 私は、不十分にフォーマットされたSQLの混乱した混乱であるいくつかの大規模なストアドプロシージャを使用しており、「すべて選択-> SQLのフォーマット」に進むことができればいいと思います

7
SQL Server SELECT INTO @variable?
私のSql(2008)Stored Procsの1つに次のコードがあり、完全に正常に実行されます。 CREATE PROCEDURE [dbo].[Item_AddItem] @CustomerId uniqueidentifier, @Description nvarchar(100), @Type int, @Username nvarchar(100), AS BEGIN DECLARE @TopRelatedItemId uniqueidentifier; SET @TopRelatedItemId = ( SELECT top(1) RelatedItemId FROM RelatedItems WHERE CustomerId = @CustomerId ) DECLARE @TempItem TABLE ( ItemId uniqueidentifier, CustomerId uniqueidentifier, Description nvarchar(100), Type int, Username nvarchar(100), TimeStamp datetime ); INSERT …

14
エラー、文字列、またはバイナリデータは挿入しようとすると切り捨てられます
次の行を含むdata.batファイルを実行しています。 Rem Tis batch file will populate tables cd\program files\Microsoft SQL Server\MSSQL osql -U sa -P Password -d MyBusiness -i c:\data.sql data.sqlファイルの内容は次のとおりです。 insert Customers (CustomerID, CompanyName, Phone) Values('101','Southwinds','19126602729') レコードを追加するための同様の行がさらに8行あります。 私はこれを実行するとstart> run> cmd> c:\data.bat、私は、このエラーメッセージが表示されます: 1>2>3>4>5>....<1 row affected> Msg 8152, Level 16, State 4, Server SP1001, Line 1 string or binary data …
250 sql  sql-server 

4
複数の列に対する一意の制約
CREATE TABLE [dbo].[user]( [userID] [int] IDENTITY(1,1) NOT NULL, [fcode] [int] NULL, [scode] [int] NULL, [dcode] [int] NULL, [name] [nvarchar](50) NULL, [address] [nvarchar](50) NULL, CONSTRAINT [PK_user_1] PRIMARY KEY CLUSTERED ( [userID] ASC ) ) ON [PRIMARY] GO どのように私は列に一意の制約を追加するfcode, scode, dcodeとt-sql、および/またはmanagement studio?fcode, scode, dcode一緒に一意である必要があります。

19
SQL Serverデータベース内のすべてのトリガーをテーブル名とテーブルのスキーマとともにリストする必要がある
SQL Serverデータベースのすべてのトリガーを、テーブル名とテーブルのスキーマと共にリストする必要があります。 私はこれでほとんどそこにいます: SELECT trigger_name = name, trigger_owner = USER_NAME(uid),table_schema = , table_name = OBJECT_NAME(parent_obj), isupdate = OBJECTPROPERTY( id, 'ExecIsUpdateTrigger'), isdelete = OBJECTPROPERTY( id, 'ExecIsDeleteTrigger'), isinsert = OBJECTPROPERTY( id, 'ExecIsInsertTrigger'), isafter = OBJECTPROPERTY( id, 'ExecIsAfterTrigger'), isinsteadof = OBJECTPROPERTY( id, 'ExecIsInsteadOfTrigger'), [disabled] = OBJECTPROPERTY(id, 'ExecIsTriggerDisabled') FROM sysobjects INNER JOIN sysusers ON …



12
NOT IN句内のNULL値
この問題は、1つはnot in where制約を使用し、もう1つはaを使用した同一のクエリであると私が考えたものに対して異なるレコード数を取得したときに発生しましたleft join。not in制約内のテーブルには1つのnull値(不正なデータ)があり、そのクエリはレコード数0を返しました。理由はある程度理解できましたが、コンセプトを完全に理解するためにいくつかの助けを借りることができました。 簡単に言うと、クエリAが結果を返すのにBは返さないのはなぜですか? A: select 'true' where 3 in (1, 2, 3, null) B: select 'true' where 3 not in (1, 2, null) これはSQL Server 2005でset ansi_nulls off発生しました。また、呼び出しによってBが結果を返すこともわかりました。
244 sql  sql-server  tsql  null  notin 

11
SQL Serverで外部キーを作成するにはどうすればよいですか?
SQL Serverのオブジェクト作成コードを「手動でコーディング」したことがなく、SQL ServerとPostgresの間で外部キーのデクレレーションが異なっているようです。これまでのところ私のSQLです: drop table exams; drop table question_bank; drop table anwser_bank; create table exams ( exam_id uniqueidentifier primary key, exam_name varchar(50), ); create table question_bank ( question_id uniqueidentifier primary key, question_exam_id uniqueidentifier not null, question_text varchar(1024) not null, question_point_value decimal, constraint question_exam_id foreign key references exams(exam_id) ); create table …
243 sql  sql-server  tsql 


10
存在しない場合はSQL Server挿入
テーブルにデータを挿入したいが、データベースに存在しないデータのみを挿入したい。 これが私のコードです: ALTER PROCEDURE [dbo].[EmailsRecebidosInsert] (@_DE nvarchar(50), @_ASSUNTO nvarchar(50), @_DATA nvarchar(30) ) AS BEGIN INSERT INTO EmailsRecebidos (De, Assunto, Data) VALUES (@_DE, @_ASSUNTO, @_DATA) WHERE NOT EXISTS ( SELECT * FROM EmailsRecebidos WHERE De = @_DE AND Assunto = @_ASSUNTO AND Data = @_DATA); END そしてエラーは: メッセージ156、レベル15、状態1、プロシージャEmailsRecebidosInsert、行11 キーワード 'WHERE'の近くの構文が正しくありません。

23
リモートSQL Serverデータベースをローカルドライブにバックアップするにはどうすればよいですか?
リモートサーバーからローカルサーバーにデータベースをコピーする必要があります。SQL Server Management Studioを使用しようとしましたが、リモートサーバー上のドライブにしかバックアップされません。 いくつかのポイント: ファイルをコピーできる方法でリモートサーバーにアクセスできません。 サーバーへのUNCパスを設定するアクセス権がありません。 このデータベースをコピーするにはどうすればよいですか?サードパーティのツールを使用する必要がありますか?
241 sql  sql-server  backup 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.