最近更新したページ
2013-10-20
2013-09-29
2013-09-23
2012-01-07
2011-11-09
2011-10-23
2011-10-09
2011-10-01
2011-09-29
2011-09-03
2011-08-07
2011-08-02
2011-07-29
2011-07-10
2011-05-05
2011-05-04
2011-04-24
2011-04-13
2011-04-05
2011-03-26
2011-02-18
2011-02-15
2010-12-26
2010-12-07
2010-12-05
2010-11-23
2010-09-28
2010-09-23
2010-08-26
2010-08-22
2010-07-16
2010-01-17
2010-01-11
2009-10-04
2009-08-21
2009-08-13
2009-06-18
2009-06-01
2009-04-29
2009-02-16
2009-02-11
2009-02-03
2008-07-22
2008-07-21
2008-07-15
2008-07-14
2008-07-13
2008-07-12
2008-07-08
2008-07-05
2008-06-28
2008-06-17
2008-06-05
2008-06-02
2008-06-01
2008-05-29
2008-05-26
2008-05-21
2008-05-19
2008-05-18
2007-10-31
2007-10-27
2007-09-28
2007-09-23
2007-09-17
2007-09-16
2007-09-14
2007-09-11
2007-06-18
2007-04-15
2006-12-21
2006-11-30
2006-11-22
2006-08-17
2006-03-29
2006-03-28
2006-03-27

SQL文:MS SQL Server(削除)


 Microsoft SQL Server の SQL文の最も簡単な文例を、SQL Server 2005 Books Online より抜粋引用し、見やすくしただけの項である。


データベース オブジェクトの削除


権限とオブジェクトの削除


  • 1) 削除実行前に TestData で作業していることを確認。
USE TestData;
GO

  • 2) ストアド プロシージャに対する Mary の実行権限の削除。
-- REVOKE ステートメントを使用
REVOKE EXECUTE ON pr_Names FROM Mary;
GO
※ストアドプロシージャのプロパティなど(権限?)で確認可。

  • 3) TestData データベースに対する Mary のアクセス権限の削除。
-- DROP ステートメントを使用
DROP USER Mary;
GO
※TestData のプロパティなど(権限?)で確認可。

  • Mary が SQL Server のインスタンス computer_name\Mary にアクセスする権限を削除。
-- DROP ステートメントを使用
DROP LOGIN [computer_name\Mary];
GO
※データベース のプロパティなど(権限?)で確認可。

  • ストアド プロシージャ pr_Names を削除する。
-- DROP ステートメントを使用
DROP PROC pr_Names;
GO

  • ビュー vw_Names を削除する。
-- DROP ステートメントを使用
DROP View vw_Names;
GO

  • Products テーブルからすべての行を削除する。
※テーブルではなく、実データの削除。
-- DELETE ステートメントを使用
DELETE FROM Products;
GO

  • Products テーブルを削除する。
-- DROP ステートメントを使用
DROP Table Products;
GO

  • TestData データベースの削除。
データベースでの作業中は、TestData データベースを削除できません。
したがって、まずコンテキストを他のデータベースに切り替えてから、DROP ステートメントを使用して TestData データベースを削除します。

USE MASTER;
GO
DROP DATABASE TestData;
GO

 ※なぜか”TestData 使用中 ・・・”の発生回避不能。TestData を直接削除 -> 「既存の接続を閉じる」にしてようやく削除できた。

 ※[セキュリティ][ログイン]内 computer_name\Mary ログイン権限の削除もれ・・・強制削除も同理由で出来ない・・・と思ったら「最新の状態・・・更新」で消えた。

 ※ここまでが SQL Server の最低限必須知識と思われる。ローカル、単一権限ユーザーならセキュリティ絡みも不要。

[ 編集 ] ▲上へ


削除のまとめ


USE TestData;
GO
-- REVOKE ステートメント
REVOKE EXECUTE ON pr_Names FROM Mary;
GO
-- DROP ステートメント
DROP USER Mary;
GO

 ※computer_name の置き換え必須!

-- DROP ステートメント
DROP LOGIN [computer_name\Mary];
GO
-- DROP ステートメント
DROP PROC pr_Names;
GO
-- DROP ステートメント
DROP View vw_Names;
GO
-- DELETE ステートメント(実データ削除)
DELETE FROM Products;
GO
-- DROP ステートメント(テーブル削除)
DROP Table Products;
GO

/*
    TestData データベースの削除
    うまくいかない場合、手動削除
*/
USE MASTER;
GO
DROP DATABASE TestData;
GO

 ※あれ?さらっと TestData が削除されました!。
 ※[セキュリティ][ログイン]内 Mary のログイン情報も自動的に削除されました。

[ 編集 ] ▲上へ


データベース・SQL文・SQLクエリー(query)関連リンク



参考になる書籍など


 ・SQL Serverデータベース・プログラミングASP.NET ・SQL全般

  • SQL 全般の良書・名著




wiki内関連ページ



[ 編集 ] ▲上へ
2009年08月21日(金) 19:21:09 Modified by sakura_momo2




スマートフォン版で見る