冷月葬花魂 发表于 2015-1-16 22:32:37

MSSQL教程之Sqlserver中的一些技能

操作被同步到从库上后,则主从都“回天无力”。server|sqlserver|技能
猎取一个SQLServer上的一切数据库信息用存储历程sp_databases

在查询剖析个中实行命令execsp_databases

了局:master14464NULL
model1280NULL
msdb14336NULL
Northwind4352NULL
pubs2560NULL
Store1912NULL
tempdb8704NULL
test1272NULL

猎取一个数据库的一切表用存储历程sp_tables

实行命令:useNorthwindexecsp_tables了局:

NorthwinddbosysusersSYSTEMTABLENULL
NorthwinddboCategoriesTABLENULL
NorthwinddboCustomerCustomerDemoTABLENULL
NorthwinddboCustomerDemographicsTABLENULL
NorthwinddboCustomersTABLENULL
NorthwinddbodtpropertiesTABLENULL
NorthwinddboEmployeesTABLENULL
NorthwinddboEmployeeTerritoriesTABLENULL
(.......)


猎取一个表的列信息用存储历程sp_columns

运转execsp_columnsOrders(Orders为表名)了局

NorthwinddboOrdersOrderID4intidentity1040100NULLNULL4NULLNULL1NO56
NorthwinddboOrdersCustomerID-8nchar510NULLNULL1NULLNULL-8NULL102YES39
NorthwinddboOrdersEmployeeID4int1040101NULLNULL4NULLNULL3YES38
NorthwinddboOrdersOrderDate11datetime23163NULL1NULLNULL93NULL4YES111
NorthwinddboOrdersRequiredDate11datetime23163NULL1NULLNULL93NULL5YES111
NorthwinddboOrdersShippedDate11datetime23163NULL1NULLNULL93NULL6YES111
NorthwinddboOrdersShipVia4int1040101NULLNULL4NULLNULL7YES38
NorthwinddboOrdersFreight3money19214101NULL(0)3NULLNULL8YES110
NorthwinddboOrdersShipName-9nvarchar4080NULLNULL1NULLNULL-9NULL809YES39
(......)

猎取一个数据库的一切存储历程,能够用

select*fromsysobjectswheretype=p

实行所得了局:

CustOrdersDetail789577851P1016106127360002000-08-0601:34:52.513
CustOrdersOrders805577908P1016106127360002000-08-0601:34:52.733
CustOrderHist821577965P1016106127360002000-08-0601:34:52.967
SalesByCategory837578022P1016106127360002000-08-0601:34:53.200
(......)

sysobjects这个器材另有其他一些用法,详细可参照SQLServer连机匡助

在ADO.NET内里猎取一个存储历程的参数信息:
SqlConnectionconnect=newSqlConnection(ConnectionString);
connect.Open();
SqlCommandsc=newSqlCommand("SalesByCategory",connect);//SalesByCategory为Northwind数据库中的一个存储历程.
sc.CommandType=CommandType.StoredProcedure;
SqlCommandBuilder.DeriveParameters(sc);
foreach(SqlParameterparaminsc.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);
}


根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字。

飘飘悠悠 发表于 2015-1-19 16:22:49

外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。

山那边是海 发表于 2015-2-4 03:04:25

索引视图2k就有。但是2005对其效率作了一些改进但是schema.viewname的作用域真是太限制了它的应用面。还有一大堆的环境参数和种种限制都让人对它有点却步。

谁可相欹 发表于 2015-2-9 12:52:41

呵呵,这就是偶想说的

老尸 发表于 2015-2-27 06:37:11

个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。

因胸联盟 发表于 2015-3-8 23:17:13

varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。

精灵巫婆 发表于 2015-3-16 18:00:07

财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的..

小妖女 发表于 2015-3-22 23:57:35

多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油
页: [1]
查看完整版本: MSSQL教程之Sqlserver中的一些技能