SQL Server CLR全功略之三
本节主要介绍使用CLR创建标量函数,表值函数和聚合函数。
所谓标量函数指的就是此函数只返回一个值。表值函数返回值是一个表。聚合函数是在select语句中使用的,用来聚合一个结果集,类似于Sum()或是Count()等内置的函数,而且真正的自定义聚合函数目前只能用CLR来实现。
下面的例子使用了SQLServer自带的pubs数据库。
1.CLR标量函数
1.1无参函数
///
/// 标量函数,不带参数
///
///
[Microsoft.SqlServer.Server.SqlFunction(
DataAccess = DataAccessKind.Read,
IsDeterministic = true)]
public static SqlString UF_Scalar_SayHello()
{
string returnValue = "null";
//由于程序是在SQL Server内执行,所以连接字符串写成"context connection=true"即可
using (SqlConnection conn = new SqlConnection("context connection=true"))
{
conn.Open();
SqlCommand com = new SqlCommand("select top 1 [au_lname] from [dbo].[authors]",conn);
using (SqlDataReader dr = com.ExecuteReader(CommandBehavior.CloseConnection))
{
if (dr.Read())
returnValue = dr.GetString(0);//返回au_lname
}
}
re
相关文档:
一、循环
create table tb(
col1 varchar(1),
col2 varchar(2)
)
insert tb(col1,col2)values('0','0')
go 10000000
二、数据合并
if object_id('[order]') is not null drop table [order]
go
create table [order]([orderid] int,[ordertype] varchar(1))
insert [ord ......
1、 sql查询最后一条数据select * from table order by id DESC limit 1
2、select top1 * from tablename where order by id desc
通过在mysql中测试,只有第一种可以使用,不知道其他数据库是否支持第二种方法,网上很多人说用第二种方法 ......
试了一把PowerShell访问数据库,跟用C#写几乎没任何区别~
为了简单起见,代码有点丑,不用太深究
$ConnString = "server=_SERVER_;database=_DATABASE_;user id=_UID_;password=_PWD_";
$db = New-Object System.Data.SqlClient.SqlConnection($ConnString);
$db.Open();
$Sql = "select top 10 * from sys.objects wh ......
from:csdn
能否利用触发器操作远程数据库?
------------------------------------------------------------
-----01
------------------------------------------------------------
能/********************链接数据库 *******************************/
exec OPENDA ......
视图的创建及使用(sql server 2005)
创建一个虚拟表,该表以一种备用方式提供一个或多个表中的数据。CREATE VIEW 必须是查询批处理中的第一条语句。
Transact-SQL 语法约定
语法
CREATE VIEW [ schema_name . ] view_name [ (column [ ,...n ] ) ]
[ WITH <view_attribute> [ ,...n ] ]
AS s ......