2011-06-22 11 views

答えて

1

sybaseはプロファイラを使用しているSQLサーバのようなので、私はこのクエリを取得しました。 動作しない場合は、sybase用のプロファイラのようなプロファイラを使用して、ユーザー定義の型を作成し、更新するシステム表を確認します。

SELECT 
'Server[@Name=' + quotename(CAST(serverproperty(N'Servername') AS sysname),'''') + ']' + '/Database[@Name=' + quotename(db_name(),'''') + ']' + '/UserDefinedDataType[@Name=' + quotename(st.name,'''') + ' and @Schema=' + quotename(sst.name,'''') + ']' AS [Urn], 
st.name AS [Name], 
sst.name AS [Schema], 
baset.name AS [SystemType], 
CAST(CASE WHEN baset.name IN (N'nchar', N'nvarchar') AND st.max_length <> -1 THEN st.max_length/2 ELSE st.max_length END AS int) AS [Length], 
CAST(st.precision AS int) AS [NumericPrecision], 
CAST(st.scale AS int) AS [NumericScale], 
st.is_nullable AS [Nullable] 
FROM 
sys.types AS st 
INNER JOIN sys.schemas AS sst ON sst.schema_id = st.schema_id 
LEFT OUTER JOIN sys.types AS baset ON baset.user_type_id = st.system_type_id and baset.user_type_id = baset.system_type_id 
WHERE 
(st.schema_id!=4 and st.system_type_id!=240 and st.user_type_id != st.system_type_id) 
ORDER BY 
[Schema] ASC,[Name] ASC 
+0

OK、私は試してみましょう。.. – SSE

1

注:これはもう少し前に尋ねられたことを認識していますが、答えを探して見つけたので、ここに入れておきます。

タイプはすべてシステム内にありますが、ユーザとシステムタイプにはっきりと記述されていません。すべてのシステムタイプがNULLに設定されaccessruleを持っている、と私のすべてのユーザータイプが0にこのセットを持っているので、私は次のように使用していたようです:

SELECT * FROM systypes WHERE accessrule != NULL

これは、私は何のために十分ですやってあなたがでsystypesにテーブルの詳細(およびその他の関連する表)を見ることができます

http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.ase_15.0.tables/html/tables/tables69.htm

-1
select 
    convert(char(15),a.name) [user type] 
    ,(select convert(varchar(10),b.name) 
     from systypes b 
     where b.type=a.type 
     having b.usertype = min(b.usertype)) 
    + case 
when (select b.name from systypes b 
     where b.type=a.type 
     having b.usertype = min(b.usertype))='char' 
then '('+convert(varchar(10),a.length)+')' 
end 
    ,a.prec 
    ,a.scale 
FROM systypes a 
WHERE accessrule != NULL 
go 
+1

参照、もう少し説明してください:[答える方法]( http://stackoverflow.com/help/how-to-answer)。 – agold

関連する問題