同一个dbuser 例如,L001 具有db_owner和public权限
L001创建了一个XName varchar(20)的自定义数据类型
在存储过程中声明XName类型变量并赋值打印输出,没有问题。
在存储过程中利用这个XName创建一个临时表提示找不到XName数据类型???
何故?紧急紧急!!!!
---------------------------------------------------------------
你可能不是用全局变量!
---------------------------------------------------------------
原因:你的临时表是建在库TEMPDB的,而你的自定义数据类型没有定义在TEMPDB。
建议在存储过程临时表里用基础类型varchar(20)。
---------------------------------------------------------------
创建一个在 Microsoft SQL Server 启动时自动运行的存储过程,在此存储过程中创建自定义的数据类型。
---------------------------------------------------------------
--在MS SQL Server 2000 中测试通过
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[usp_autorun]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[usp_autorun]
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE dbo.usp_autorun AS
exec('use tempdb EXEC sp_addtype N''dates'', N''char (10)'', N''not null''')
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
exec sp_procoption N'usp_autorun', N'startup', N'true'
GO