Navicat函数和过程(Function, Produce)使用总结

1.Navicat运行函数输入参数时,什么都不填和填NULL是不一样的,具体可以通过Print打印,或者自己去尝试.

(1)比如执行如下的语句,什么都不输入:

PRINT(nChannelAddr)  //注意打印字符串要用单引号.
PRINT(@nChannelAddr)
PRINT(sSAMSTag)
PRINT(@sSAMSTag)
PRINT(nChannelAddr)  //注意打印字符串要用单引号. PRINT(@nChannelAddr) PRINT(sSAMSTag) PRINT(@sSAMSTag)

把nChannelAddr和SAMSTag进行打印,结果如下:

发现int类型被赋值为了0,而char类型的估计赋值为了空字符串.

(2)而如果选择输入NULL,打印结果如下:

因为都是NULL,所以不显示吧?

2.创建函数时,采用默认的sys模式,这个是系统定义的类型,莫把其当做了数据库的表名.

创建生成的函数红框中的元素要有,分别代表函数名,入参类型,返回值类型.

注意如果在写SQL语句的过程中想要改变参数或者返回值的类型,直接在语句中修改.比如把int类型的n改为vchar类型的s.

3.使用函数可以返回数据库表:

4.比如创建过程p1时,一开始会显示类似:

CREATE PROCEDURE [dbo].[p1]

保存之后,就会变成:

ALTER PROCEDURE [dbo].[p1]

此时不可以去更改过程的名字了,已经固定了。若更改会报“Inbalid object name”的错误

tip: 如果不知道一些错误的原因,可以再创建一个例子,对比下差别。

1.Navicat运行函数输入参数时,什么都不填和填NULL是不一样的,具体可以通过Print打印,或者自己去尝试. (1)比如执行如下的语句,什么都不输入: PRINT(nChannelAddr)  //注意打印字符串要用单引号. PRINT(@nChannelAddr) PRINT(sSAMSTag) PRINT(@sSAMSTag) 把nChannelAddr和SAMSTag进行打印,结果如下: 发现int类型被赋值为了0,而char类型的估计赋值为了空字符串. (2)而如果选择输入NULL,打印结果如下: 因为都是NULL,所以不显示吧? 2.创建函数时,采用默认的sys模式,这个是系统定义的类型,莫把其当做了数据库的表名. 创建生成的函数红框中的元素要有,分别代表函数名,入参类型,返回值类型. 注意如果在写SQL语句的过程中想要改变参数或者返回值的类型,直接在语句中修改.比如把int类型的n改为vchar类型的s. 3.使用函数可以返回数据库表: 4.比如创建过程p1时,一开始会显示类似: CREATE PROCEDURE [dbo].[p1] 保存之后,就会变成: ALTER PROCEDURE [dbo].[p1] 此时不可以去更改过程的名字了,已经固定了。若更改会报“Inbalid object name”的错误 tip: 如果不知道一些错误的原因,可以再创建一个例子,对比下差别。
经验分享 程序员 微信小程序 职场和发展