它是知道SQL Server提供瞭如用戶定義函數,存儲過程,觸發器一些擴展機制......Postgres的模擬的C#SQL Server's存儲過程CLR
我有C#代碼在運行SQL Server 2008年(這是使用Visual Studio 2008年部署在DBMS存儲過程,然後exec dbo.SP_Analysis 'MyTable','Colum1,Column2',300,0
命令是用來獲取在SQL Server 2008中的結果)定義爲:
using System;
using System.Collections.Generic;
using System.Text;
using System.Security;
using System.Runtime.InteropServices;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;
public partial class StoredProcedures
{
[Microsoft.SqlServer.Server.SqlProcedure]
public static void SP_Analysis(
SqlString table, [SqlFacet(MaxSize = -1)] SqlString columns,
int Nocustomers,
Boolean result)
{
String query = "";
using (SqlConnection conn = new SqlConnection("context connection=true"))
{
conn.Open();
SqlCommand cmd = conn.CreateCommand();
query = "SELECT " + (String)columns + " FROM " + (String)table + ";";
cmd.CommandText = query;
SqlDataReader reader = cmd.ExecuteReader();
MyObject _myObject = new Object(Nocustomers);
while (reader.Read())
_myObject.read(reader);
reader.Close();
conn.Close();
} //END SqlConnection conn
}
}
class MyObject
{
int NoCustomers;
//some definitions
public MyObject(int NoCustomers)
{
this.NoCustomers = NoCustomers;
//some stuff
}
public void read(SqlDataReader reader)
{
Object[] record = new Object[NoCustomers];
reader.GetValues(record);
//more stuff
}
}
很顯然,我使用.NET c#可用語言,然後通過Visual Studio 2008部署它以在SQL Server 2008中創建存儲過程。
現在我的問題是Postgres中所有這些類似的東西嗎?
- 有什麼語言可以擴展Postgres的功能?
- Visual Studio有什麼類似的方法可以在Postgres中部署UDF?
- Postgres的
exec dbo.UDF
的模擬是什麼?
我讀的是Postgres使用C語言來定義的UDF也許C++ 但其他人我不知道......
是的,執行程序在SQL中執行存儲過程,所以它是一種在SQL Server中使用C#的強大功能的方式,但是能否解釋更多的2個答案? – cMinor
@cMinor添加了文檔鏈接。 –