SQL 标量值函数的调用
调用 MS SQL 标量值函数,应该在函数前面加上 "dbo.",否则会报 “不是可以识别的 内置函数名称”错误。例如
DECLARE @WhichDB TINYINT;
SELECT @WhichDB = user_GetWhichDB(1);--看看是哪个数据库的
=================================================
--标量值函数
ALTER FUNCTION [dbo].[user_GetWhichDB]
(
@UserId INT = 0
)
RETURNS TINYINT
WITH EXECUTE AS CALLER
AS
BEGIN
DECLARE @WhichDB TINYINT;
SET @WhichDB = 1;
IF @UserId >= 115098
SET @WhichDB = 2;
RETURN (@WhichDB);
END
相关文档:
Select * from tableName
exec('select * from tableName')
exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N
2:字段名,表名,数据库名之类作为变量时,必须用动态SQL
declare @fname varchar(20)
set @fname = 'FiledName'
Select @fname from tableName -- 错误,不会提示错 ......
1 windows登录账户口:EXEC ap_grantlogin 'windows域名\域账户'
2 SQL 登录账户:EXEC sp_addlogin '账户名','密码'
3 创建数据库用户:exec spgrantdbaccess '登录账户','数据库用户'
二 给数据库用户授权
grant 权限 on 表名 to 数据库用户 ......
条件:
拥有sa权限
开启 xp_cmdshell
方法:
开启/关闭 xp_cmdshell 必须在 master 库执行
EXEC sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
EXEC sp_configure 'xp_cmdshell', 1
RECONFIGURE ......