Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sql select语句使用的函数不能访问.Net中的sql DB_.net_Sql_Function_Select - Fatal编程技术网

sql select语句使用的函数不能访问.Net中的sql DB

sql select语句使用的函数不能访问.Net中的sql DB,.net,sql,function,select,.net,Sql,Function,Select,我有一个SQL DB,它只有读卡器权限,因此我无法添加我唯一存储的进程或函数,我正在寻找一种方法来完成我的任务,而无需获得管理员权限。该软件只有开发人员的读卡器权限,不允许完全访问,这就是为什么我在寻找另一种方法 我有一个表,我想从中提取记录,但要做到这一点,需要对字段进行一些计算,以计算出长度 在.Net或使用SQL脚本文件中是否有一种方法可以实现这一点? 不确定我是否需要做所有的想法来获得所需的结果 -创建临时表 -从表和计算值插入临时表字段 -其中计算值小于100 现在我可以使用CREAT

我有一个SQL DB,它只有读卡器权限,因此我无法添加我唯一存储的进程或函数,我正在寻找一种方法来完成我的任务,而无需获得管理员权限。该软件只有开发人员的读卡器权限,不允许完全访问,这就是为什么我在寻找另一种方法

我有一个表,我想从中提取记录,但要做到这一点,需要对字段进行一些计算,以计算出长度

在.Net或使用SQL脚本文件中是否有一种方法可以实现这一点? 不确定我是否需要做所有的想法来获得所需的结果 -创建临时表 -从表和计算值插入临时表字段 -其中计算值小于100

现在我可以使用CREATE语句来实现,但这并没有什么好处,如上所述,没有DB访问来创建任何东西。。所以它需要某种类型的动态代码,不能同时完成select和函数

下面是我在.Net代码中输入的SQL代码示例

BEGIN
CREATE TABLE #Listings
(
AddressID varchar(50), Street varchar(50), City varchar(50), State varchar(50), 
    Zip varchar(50), ZipCalculatedValue Decimal(18,12)
)
INSERT INTO #Listings (AddressID, Street, City, State, Zip, ZipCalculatedValue)
SELECT AddressID, Street, City, State, Zip, Name, bo.CalcZip(@ZIP) AS ZipCalculatedValue
FROM tbl_Addresses
WHERE dbo.dbo.CalcZip(@ZIP) <= @maxZIP
ORDER BY Distance ASC

SELECT * 
FROM #Listings
因此,在.Net中,我可以连接到数据库并获取结果,但是我知道如何使用带有SELECT语句的函数来获取结果吗

谢谢

使用a来计算值

WITH AddressWithCalc AS
(
    SELECT AddressID, Street, City, State, Zip,
        ((@ZIP - 1000) * 10) AS ZipCalculatedValue
    FROM dbo.tbl_Addresses
)
INSERT INTO #Listings (AddressID, Street, City, State, Zip, ZipCalculatedValue)
SELECT *
FROM AddressWithCalc
WHERE ZipCalculatedValue <= @maxZIP
ORDER BY Distance ASC

您能否在另一个SQL调用中计算max zip,然后将其传递给原始的SQL select?Hi Paddy。。但是如何在select语句中包含函数,使其成为返回集的一部分呢。。这是sql工作的功能部分,我一直坚持使用Genius。。谢谢Anthony,我不得不稍微调整一下,因为我不认为我可以使用创建临时表部分,但是经过一点修改,我使它工作了:
WITH AddressWithCalc AS
(
    SELECT AddressID, Street, City, State, Zip,
        ((@ZIP - 1000) * 10) AS ZipCalculatedValue
    FROM dbo.tbl_Addresses
)
INSERT INTO #Listings (AddressID, Street, City, State, Zip, ZipCalculatedValue)
SELECT *
FROM AddressWithCalc
WHERE ZipCalculatedValue <= @maxZIP
ORDER BY Distance ASC