怎样在Sql server中创建,执行和删除存储过程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样在Sql server中创建,执行和删除存储过程相关的知识,希望对你有一定的参考价值。
参考技术A sqlserver存储过程的基本操作:一、创建存储过程
1、语法格式:
create proc | procedure pro_name
[@参数数据类型 [=默认值] [output],
@参数数据类型 [=默认值] [output],
....
]
as
sql_statements以上是最基本语法,举个简单的例子:
create proc p_test
as
select retu = 1存储过程返回一个结果集:1
2、执行存储过程
execute procedure_name '' --存储过程如果有参数,后面加参数格式为:@参数名=value,也可直接为参数值value例子调用结果:
3、删除存储过程
drop procedure procedure_name --在存储过程中能调用另外一个存储过程,而不能删除另外一个存储过程
如何在 SQL Server 中创建忽略 NULL 值的计算几何列
【中文标题】如何在 SQL Server 中创建忽略 NULL 值的计算几何列【英文标题】:How to create calculated Geometry column that ignores NULL values in SQL Server 【发布时间】:2021-05-19 17:44:19 【问题描述】:我有一个“站点”表,其中包含 SSMS 2017 中的纬度和经度列。我想添加一个基于纬度和经度值的地理数据类型的计算列。我用过这个命令:
ALTER TABLE Sites
ADD Geo2 AS (geography::STGeomFromText('POINT(Sites.Latitude Sites.Longitude)', 4326))
此命令成功完成,但是当我尝试从表中选择 * 时,它返回屏幕截图中显示的错误failed select command error message。我怀疑这是因为某些站点没有纬度/经度数据(是 NULL 值)。有没有办法解决这个问题?
【问题讨论】:
【参考方案1】:先尝试过滤值。像这样的:
ALTER TABLE Sites
ADD Geo2 AS IIF(Latitude IS NOT NULL AND Longitude IS NOT NULL, [geography]::Point(Longitude,Latitude,4326), NULL)
【讨论】:
以上是关于怎样在Sql server中创建,执行和删除存储过程的主要内容,如果未能解决你的问题,请参考以下文章
无法在 GeoServer 中创建 SQL Server 数据存储