一.局部变量和全局变量 1.声明局部变量 语法:declare @变量名 变量类型 2.给局部变量赋值 语法:set @变量名=值, select @变量名=值 区别:第一种方式用于普通的赋值,第二种方式用于从数据库中查出数据库值之后赋值给变量 ) set @name='zhaolei' select * from users where name=@name ) select @word = word from users where name=@name select * f
--用户定义函数的分类: /* 1.标量函数 2.表值函数 2.1内联表值函数 返回单个SELECT语句, 它没有相关的返回变量和函数体 2.2多语句表值函数 是视图和存储过程的结合 可嵌套 */ 标量函数 --标量函数 IF EXISTS(SELECT * FROM sysobjects WHERE name='fun_SeeEverySortAmount') DROP FUNCTION fun_SeeEverySortAmount GO CREATE FUNCTION fun_SeeEv
1. create or replace procedure test_prc(p_data_dt in date) IS e_name emp.ename%type; begin select ename into e_name from emp where hiredate =p_data_dt; DBMS_OUTPUT.PUT_LINE(e_name || '---' ||p_data_dt); end; 此时输入的是日期型的参数: SQL> call test_prc(d
),a2 ,),a4 DATETIME,a5 UNIQUEIDENTIFIER) ,11.22,GETDATE(),NEWID()) ,11.22,GETDATE(),NEWID()) ,11.22,GETDATE(),NEWID()) ,11.22,GETDATE(),NEWID()) SELECT * FROM @t AS T
有时候动态sql需要进行变量的赋值,这个时候就需要调用系统的存储过程sp_executesql了.使用中还是有些注意事项,代码如下: --字符型字段需声明为NVARCHAR类型 ),) --动态SQL拼接 SET @STRSQL='SELECT @VALUE_STR=ISNULL(VALUE_STR,'''') FROM [Mast'+'ADMIN'+'@Prop_Fld] WHERE FORM_NAME=''INVHAFORM'' AND PROP_NAME=''PEROUTQTY''' --