RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:9:30-18:00
你可能遇到了下面的问题
关闭右侧工具栏
Sqlserver中的一些技巧
  • 作者:zhaozj
  • 发表时间:2020-12-23 10:37
  • 来源:未知

获取一个SQLServer上的所有数据库信息 用存储过程 sp_databases

在查询分析其中执行命令exec sp_databases

结果:master?14464?NULLmodel?1280?NULLmsdb?14336?NULLNorthwind?4352?NULLpubs?2560?NULLStore?1912?NULLtempdb?8704?NULLtest?1272?NULL

获取一个数据库的所有表用存储过程 sp_tables

执行命令: use Northwind exec sp_tables 结果:

Northwind?dbo?sysusers?SYSTEM TABLE?NULLNorthwind?dbo?Categories?TABLE?NULLNorthwind?dbo?CustomerCustomerDemo?TABLE?NULLNorthwind?dbo?CustomerDemographics?TABLE?NULLNorthwind?dbo?Customers?TABLE?NULLNorthwind?dbo?dtproperties?TABLE?NULLNorthwind?dbo?Employees?TABLE?NULLNorthwind?dbo?EmployeeTerritories?TABLE?NULL(.......)

获取一个表的列信息用存储过程sp_columns

运行exec sp_columns 'Orders' (Orders为表名) 结果

Northwind?dbo?Orders?OrderID?4?int identity?10?4?0?10?0?NULL?NULL?4?NULL?NULL?1?NO ?56Northwind?dbo?Orders?CustomerID?-8?nchar?5?10?NULL?NULL?1?NULL?NULL?-8?NULL?10?2?YES?39Northwind?dbo?Orders?EmployeeID?4?int?10?4?0?10?1?NULL?NULL?4?NULL?NULL?3?YES?38Northwind?dbo?Orders?OrderDate?11?datetime?23?16?3?NULL?1?NULL?NULL?9?3?NULL?4?YES?111Northwind?dbo?Orders?RequiredDate?11?datetime?23?16?3?NULL?1?NULL?NULL?9?3?NULL?5?YES?111Northwind?dbo?Orders?ShippedDate?11?datetime?23?16?3?NULL?1?NULL?NULL?9?3?NULL?6?YES?111Northwind?dbo?Orders?ShipVia?4?int?10?4?0?10?1?NULL?NULL?4?NULL?NULL?7?YES?38Northwind?dbo?Orders?Freight?3?money?19?21?4?10?1?NULL?(0)?3?NULL?NULL?8?YES?110Northwind?dbo?Orders?ShipName?-9?nvarchar?40?80?NULL?NULL?1?NULL?NULL?-9?NULL?80?9?YES?39(......)

获取一个数据库的所有存储过程,可以用

select * from sysobjects where type='p'

执行所得结果:

CustOrdersDetail?789577851?P ?1?0?1610612736?0?0?0?2000-08-06 01:34:52.513CustOrdersOrders?805577908?P ?1?0?1610612736?0?0?0?2000-08-06 01:34:52.733CustOrderHist?821577965?P ?1?0?1610612736?0?0?0?2000-08-06 01:34:52.967SalesByCategory?837578022?P ?1?0?1610612736?0?0?0?2000-08-06 01:34:53.200(......)

sysobjects这个东西还有其他一些用法,具体可参照SQLServer连机帮助

在ADO.NET里面获取一个存储过程的参数信息:

????SqlConnection connect = new SqlConnection(ConnectionString); ????connect.Open(); ????SqlCommand sc = new SqlCommand("SalesByCategory", connect); // SalesByCategory 为Northwind数据库中的一个存储过程. ????sc.CommandType = CommandType.StoredProcedure; ????SqlCommandBuilder.DeriveParameters(sc); ????foreach(SqlParameter param in sc.Parameters) ????{ ????Console.WriteLine("Name:{0}, Size:{1}, Type:{2}, Value:{3},Direction:{4}, IsNull:{5}", param.ParameterName, param.Size, param.DbType, param.Value, param.Direction, param.IsNullable); ??? }

?